Teile der Seite dynamisch nachladen (AJAX)
Teile der Seite dynamisch nachladen (AJAX)
Hallo,
ich möchte gerne ab einer gewissen Navigationsebene Teile der Webseite dynamisch nachladen. Wie dies generell funktioniert hab ich grob begriffen.
Nun geht es darum Contenido das ganze bei zu bringen. Bevor ich das ganze nun zurecht bastele, wollte ich mein Vorgehen hier im Forum sicherheitshalber "absegnen" lassen - vllt gibt es ja noch eine elegantere Möglichkeit.
Also Vorgehen:
1.) Für den "normalen" Seitenbereich alles in Contenido erstellen wie gehabt(Templates etc pp)
2.) in das Template der Seite das AJAX-Script einbauen
3.) Navigation entsprechend anpassen, das bei manchen Seiten eben das AJAX-Script genutzt wird
4.) weiteres Template ohne Navigation für die nachzuladenden AJAX-Seiten erstellen. D
Ich hoffe ich hab mich einigermassen nachvollziehbar ausgedrückt und bin dankbar für Eure Hilfe.
Gruß
Jens
ich möchte gerne ab einer gewissen Navigationsebene Teile der Webseite dynamisch nachladen. Wie dies generell funktioniert hab ich grob begriffen.
Nun geht es darum Contenido das ganze bei zu bringen. Bevor ich das ganze nun zurecht bastele, wollte ich mein Vorgehen hier im Forum sicherheitshalber "absegnen" lassen - vllt gibt es ja noch eine elegantere Möglichkeit.
Also Vorgehen:
1.) Für den "normalen" Seitenbereich alles in Contenido erstellen wie gehabt(Templates etc pp)
2.) in das Template der Seite das AJAX-Script einbauen
3.) Navigation entsprechend anpassen, das bei manchen Seiten eben das AJAX-Script genutzt wird
4.) weiteres Template ohne Navigation für die nachzuladenden AJAX-Seiten erstellen. D
Ich hoffe ich hab mich einigermassen nachvollziehbar ausgedrückt und bin dankbar für Eure Hilfe.
Gruß
Jens
steht doch oben beschrieben
das ganze funktioniert eher rudimentär noch, das Problem ist, das die Links der nachzuladenden Inhalte irgendwie automatisch angepasst werden müssten, wenn Sie in einem "AJAX-Template" sind.
Ich werde heute nachmittag mal meine bisherigen Schritte dokumentieren und hier veröffentlichen - vllt. kann man da noch was draus machen.
das ganze funktioniert eher rudimentär noch, das Problem ist, das die Links der nachzuladenden Inhalte irgendwie automatisch angepasst werden müssten, wenn Sie in einem "AJAX-Template" sind.
Ich werde heute nachmittag mal meine bisherigen Schritte dokumentieren und hier veröffentlichen - vllt. kann man da noch was draus machen.
so also mein Vorgehen um Daten per XMLHttpRequest aus Contenido asyncron zu holen. Meist als AJAX bezeichnet. Bin aber da auch eher Einsteiger diesbzgl.
1.) ein neues Layout anlegen, welches die AJAX-Inhalte bereitstellt. hier hab ich quasi nur ein Paar Formatierungen & die Container reingeschrieben, mehr nicht.
2.) Template anlegen mit dem "AJAX"-Layout.
3.) einen Artikel zb anlegen, der per AJAX geholt werden soll.
4.) Javascript auf der normalen Contenido Seite integrieren, welches für das Nachladen zuständig ist
einfaches Beispiel:
wenn Du nun auf der Seite mittels der Javascript funktion aufrust und die URL cms/front_content.php?idcat=CATNR als URL verwendest und als Field ein zb Div-Tag mit der ID wird der Inhalt des Artikels nachgeladen.
Das ist noch nicht sehr weitgehend, funktioniert aber grundsätzlich.
[/code]
1.) ein neues Layout anlegen, welches die AJAX-Inhalte bereitstellt. hier hab ich quasi nur ein Paar Formatierungen & die Container reingeschrieben, mehr nicht.
2.) Template anlegen mit dem "AJAX"-Layout.
3.) einen Artikel zb anlegen, der per AJAX geholt werden soll.
4.) Javascript auf der normalen Contenido Seite integrieren, welches für das Nachladen zuständig ist
einfaches Beispiel:
Code: Alles auswählen
function getfromCMS(myUrl,myField)
{
var Field = document.getElementById(myField); // selects the given element
try {
if(window.XMLHttpRequest) {
// Gecko (Firefox, Moz), KHTML (Konqueror, Safari), Opera, Internet Explorer 7
xmlhttp = new XMLHttpRequest();
} else if(window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer 4,5,5.5,6
}
} catch(e) {
return false;
}
xmlhttp.open("GET", myUrl, true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4) {
Field.innerHTML = xmlhttp.responseText; // puts the result into the element
}
}
xmlhttp.send(null);
}
Das ist noch nicht sehr weitgehend, funktioniert aber grundsätzlich.
[/code]
Hallo Jens,
das ist ein interessanter Ansatz. Ein paar Deiner Sätze sind aber wegen ihrer Formulierung etwas schwer zu verstehen. Kannst Du dazu nochmal was sagen:
Wär' jedenfalls sehr nett, wenn Du das nochmal klären könntest, ich finde die Integration von AJAX ins Frontend via Contenido sehr interessant.
Gruß,
Ayshe
das ist ein interessanter Ansatz. Ein paar Deiner Sätze sind aber wegen ihrer Formulierung etwas schwer zu verstehen. Kannst Du dazu nochmal was sagen:
--- Du meinst einen Artikel? Kein Layout? Heißt: Das Script muß direkt im betreffenden Artikel (also natürlich im HTML) eingebaut werden?4.) Javascript auf der normalen Contenido Seite integrieren, welches für das Nachladen zuständig ist
--- Äh...Häh? Das bitte nochmal irgendwie anders formuliert. So erschließt es sich mir nicht. Meinst Du: "Wenn du nun die Seite (die unter Punkt 4 erweitert wurde) aufrust..."? Und dann?wenn Du nun auf der Seite mittels der Javascript funktion aufrust und die URL cms/front_content.php?idcat=CATNR als URL verwendest und als Field ein zb Div-Tag mit der ID wird der Inhalt des Artikels nachgeladen.
Wär' jedenfalls sehr nett, wenn Du das nochmal klären könntest, ich finde die Integration von AJAX ins Frontend via Contenido sehr interessant.
Gruß,
Ayshe
wahrscheinlich genauso viel wie auf vielen, vielen anderen Seiten: nicht viel..
Sie werden es aber wohl gewöhnt sein, dass sie in Teilen des Internets nicht weit kommen...
Sie werden es aber wohl gewöhnt sein, dass sie in Teilen des Internets nicht weit kommen...
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
Ach ja, ich kenne diese Einwände. Es gibt dagegen zwei Argumente:
1. Jeder, der wirklich viel entwickelt, wird die Erfahrung machen, dass es einige Probleme mit Darstellung gibt, nicht aktiviertes JS aber so gut wie nie der Grund ist.
2. Statistiken aus Logfile-Auswertungen zeigen, dass rund 2% der Websurfer JS deaktiviert haben.
3. Ca. 80% aller Browsernutzer wissen gar nicht, wie sie irgendwelche Voreinstellungen ihres Browsers verändern können, also auch nicht, wie sie JS deaktiveren können.
Klar, man kann sich immer zum Ziel setzen, 100% der Leute zufrieden zu stellen. Aber ich kann allein schon aus wirtschaftlichen Gründen auch mit 98% Quote leben
1. Jeder, der wirklich viel entwickelt, wird die Erfahrung machen, dass es einige Probleme mit Darstellung gibt, nicht aktiviertes JS aber so gut wie nie der Grund ist.
2. Statistiken aus Logfile-Auswertungen zeigen, dass rund 2% der Websurfer JS deaktiviert haben.
3. Ca. 80% aller Browsernutzer wissen gar nicht, wie sie irgendwelche Voreinstellungen ihres Browsers verändern können, also auch nicht, wie sie JS deaktiveren können.
Klar, man kann sich immer zum Ziel setzen, 100% der Leute zufrieden zu stellen. Aber ich kann allein schon aus wirtschaftlichen Gründen auch mit 98% Quote leben
@ayshe
grds. hast du recht in dem was du sagst, aber man sollte bei der sache 2 dinge bedenken.
1. die veränderung bedeutet, in diesem fall, einen extremen eingriff in inhalte. suchmaschinen werden damit ebenfalls teilweise ausgeschlossen (dann sind die 98% absolut nicht viel)
2. ist es relativ einfach eine ajax seite mit fallback zu machen.
grds. hast du recht in dem was du sagst, aber man sollte bei der sache 2 dinge bedenken.
1. die veränderung bedeutet, in diesem fall, einen extremen eingriff in inhalte. suchmaschinen werden damit ebenfalls teilweise ausgeschlossen (dann sind die 98% absolut nicht viel)
2. ist es relativ einfach eine ajax seite mit fallback zu machen.