Teile der Seite dynamisch nachladen (AJAX)

Gesperrt
Docsam
Beiträge: 13
Registriert: Sa 3. Feb 2007, 19:42
Kontaktdaten:

Teile der Seite dynamisch nachladen (AJAX)

Beitrag von Docsam » Sa 3. Feb 2007, 19:56

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

Docsam
Beiträge: 13
Registriert: Sa 3. Feb 2007, 19:42
Kontaktdaten:

Beitrag von Docsam » Mo 5. Feb 2007, 23:46

Habs jetzt soweit raus, funktioniert wie ich mir dachte.. also hat sich erledigt :-)

i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt » Di 6. Feb 2007, 01:36

Darfst es ruhig auch posten und anderen helfen. Hier geht es schliesslich darum, dass das System von der gegenseitigen Hilfe lebt. :wink:
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)

Docsam
Beiträge: 13
Registriert: Sa 3. Feb 2007, 19:42
Kontaktdaten:

Beitrag von Docsam » Di 6. Feb 2007, 09:25

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.

Docsam
Beiträge: 13
Registriert: Sa 3. Feb 2007, 19:42
Kontaktdaten:

Beitrag von Docsam » Di 6. Feb 2007, 23:01

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:

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);
}
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]

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe » Do 8. Mär 2007, 15:37

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:
4.) Javascript auf der normalen Contenido Seite integrieren, welches für das Nachladen zuständig ist
--- Du meinst einen Artikel? Kein Layout? Heißt: Das Script muß direkt im betreffenden Artikel (also natürlich im HTML) eingebaut werden?
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.
--- Ä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?

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

wosch

Beitrag von wosch » Do 8. Mär 2007, 16:32

Ähm ...
Was sehen Besucher der Seite die Java-Script abgestellt haben?

MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress » Do 8. Mär 2007, 17:16

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...
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)

stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony » Do 8. Mär 2007, 17:21

MichFress hat geschrieben: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...
da gehören google & andere Suchmaschinen auch zu! (nur so nebenbei)

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe » Do 8. Mär 2007, 23:15

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 :wink:

trixta
Beiträge: 165
Registriert: Di 26. Apr 2005, 12:53
Kontaktdaten:

Beitrag von trixta » Fr 9. Mär 2007, 00:20

@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.

Gesperrt