Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

AJAX - Kompletter Page Refresh

Eingetragen von Roavei (162)
am 22.03.2011 - 12:59 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x

Hallo Leute,
ich bin auf der Suche nach der Möglichkeit mittels AJAX (und ev. jQuery) die komplette Seite neu zu laden.
Das ganze soll standardmäßig mit dem Menü von Drupal laufen. D.h. wenn ein Menüpunkt angeklickt wird, wird der anzuzeigende Inhalt nicht in einem komplett neuen Seitenaufbau geladen werden sondern über AJAX.
Bis jetzt habe ich nur Module gefunden, die für Modul-eigene Tabs Content per AJAX laden.
Ich kann mir nicht vorstellen, dass es so eine Möglichkeit/Modul bei Drupal nicht gibt.

lg Roavei

‹ Wie Videos auf Userseite einbinden? Full oder Filtered HTML Menü verbergen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Reload

Eingetragen von stBorchert (6003)
am 22.03.2011 - 13:43 Uhr

Hallo.
Der Sinn, Inhalte per AJAX oder Elemente per AHAH zu laden ist es, weniger Daten durchs Netz zu schieben. Wenn Du nun die komplette Seite, also sämtlichen HTML-Code per AJAX/AHAH lädst, fällt der Grundgedanke des Themas weg.
Wo genau siehst Du den Unterschied zwischen dem normalen Laden der Seite über Link und dem Laden der kompletten Seite per AJAX/AHAH?

 Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan,Meine

Eingetragen von Roavei (162)
am 22.03.2011 - 14:27 Uhr

Hallo Stefan,
Meine Intention, dass ich die Page per AJAX laden will ist, dass ich plane mittels jQuery das ganze etwas zu "modernisieren". Sprich der Content soll z.B. nicht einfach nur angezeigt werden soll z.B. irgendwie langsam eingeblendetwerden. usw. (Das ganze natürlich im akzeptablen Maße, nach dem Motto - weniger ist oft mehr). Vielleicht kann man das was ich machen will bis zu einem gewissen Grad mit einer Flash-Homepage vergleichen.

EDIT: Bei dem Content wird es sich hauptsächlich um kurze Informations-Texte (vielleicht halbe Bildschirm-höhe) handeln. D.h. kein endlos langer Content wo man 2min runterscrollen kann.

lg Roavei

  • Anmelden oder Registrieren um Kommentare zu schreiben

So..habe jetzt genau das

Eingetragen von Roavei (162)
am 24.03.2011 - 15:19 Uhr

So..habe jetzt genau das gefunden was ich haben will: Ist ein Script mit dem Namen FullAjax (die Homepage ist leider nur auf russisch^^: www.fullajax.ru)
Gibt eine Joomla-Komponente wo man super sieht wie ich mir das vorstelle: http://getsite.org.ua/jdemo/#ajx/jdemo/

Tja... d.h. jetzt wohl, dass ich jemanden brauche der mir da ein dazugehöriges Drupal-Modul bastelt :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Roavei, was mich bei

Eingetragen von Ionit (1792)
am 24.03.2011 - 16:05 Uhr

Hallo Roavei,

was mich bei diesem Ajax-Refresh der gesamte Seite wundert. Es wird ja trotzdem eine neue Unterseite aufgerufen und die URL im Browser ändert sich. Das sieht mit Ajax zwar etwas "moderner" aus, ist aber genau das selbe als wenn man ohne Ajax eine andere/neue Unterseite aufruft.

Ajax soll ja eigentlich "nur" einen bestimmten Bereich der Webseite "neu laden" ohne die gesamte Seite neu laden zu müssen und ohne, dass man eine neue URL aufrufen muss.

Ich hatte vor einiger Zeit das Drupal-Ajax-Modul ausprobiert - aber auch damit wechselte die URL im Browser, den Refresh eines bestimmten Bereichs habe ich damit nicht hinbekommen (wohl aber auch da ich mich mit Ajax nicht wirklich auskenne).

Wenn aber, trotz Ajax, eine neue URL im Browser aufgerufen wird, verstehe ich den Sinn der Ajaxnutzung nicht.

Gruß Matthias

Drupal rockt!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Matthias, du hast

Eingetragen von Roavei (162)
am 24.03.2011 - 16:36 Uhr

Hallo Matthias,
du hast vollkommen recht, AJAX ist dafür da nur bestimmte Seiteninhalte neu zu laden. Und wenn man es jetzt objektiv (ohne das ganze Webdesignwissen) anschaut dann wird auch hier nur ein Teil der Homepage jeweils neu geladen. Z.B. Der Komplette Header bleibt gleich, der komplette linke und auch der komplette rechte Block wird nicht nochmal geladen. Ebenso natürlich auch der Footer nicht. In Summe kommt somit - je nach Aufbau der Seite - einiges zusammen was nicht neu geladen werden muss. Wenn man jetzt z.B. im Header eine Bilderlaufleiste drin hat wo Bilder durchlaufen, dann werden die ebenfalls nicht neu geladen. usw. usw.
Also abgesehen davon, dass es beim User einen Eindruck von "modernität" hervorruft und sich die Seite von anderen abhebt, sehe ich da schon einige Vorteile (URL hin oder her ;))

lg Roavei

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da aber bei einem

Eingetragen von wla (9218)
am 24.03.2011 - 18:32 Uhr

Da aber bei einem Seitenaufruf die page.tpl.php-Datei im Theme durchlaufen wird, wird das wohl nicht werden mit belassen der alten Elemente, denn diese Info ist in der page.tpl.php-Datei nicht vorhanden. Also wird alles neu an den Client geschickt. Es wird allerdings der Drupal interne Cache genutzt, um die Information nicht neu rendern zu müssen.
So wie Du Dir den Seitenaufbau vorstellst, arbeitet ein normales Theme in Drupal nicht. Um das zu erreichen, müßtest Du die Seitenaufbereitung und -ausgabe neu schreiben.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst dir diese Ajax

Eingetragen von SteffenR@drupal.org (2261)
am 24.03.2011 - 21:25 Uhr

Du kannst dir diese Ajax Funktionalität auch recht einfach selbst basteln - jquery hilft dir dabei ;)

Am Seitenaufbau muss sich erstmal nix ändern - du müsstest nur die Klicks auf die entsprechenden Links abfangen und deren URL mithilfe des jquery Befehls load entsprechend auslesen. In der template.php könntest du dir dann noch ein Extra Template für die page.tpl.php anlegen, welches bei Ajax Calls gezogen ( hierfür kann man den Header X-Requested-With auf XMLHttpRequest prüfen ) wird ( einfach um die Performance zu optimieren ) und schon hättest du deine Ajaxified Seite.
Nun müsstest du dich nur noch um die URL kümmern - hier kannst du aber auf ein history-Plugin von jquery zurückgreifen.

Dies könnte dann wie folgt ausschauen:
http://www.hopper-intermedia.de/referenzen/website-design#%2Freferenz%2F188

SteffenR

http://www.twitter.com/_steffenr
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

@SteffenR: Danke für den

Eingetragen von drcho (72)
am 29.03.2011 - 10:39 Uhr

@SteffenR: Danke für den Tipp, genau so scheint es am einfachsten und am logischsten zu sein. Was mich jetzt interessiert: wie schalte ich den Header in der page.tpl.php aus? Denn der wird ja seit Drupal 7 nicht mehr im normalen Theme-Template geliefert.

Vielleicht gibt es aber auch noch eine Möglichkeit über Views die Inhalte ohne Header usw. auszuliefern?

Ein weiterer Grund übrigens für AJAX ist, dass man Musik über alle Seiten laufen lassen will, wie z.B. auf http://hypem.com

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Fehler nach Drupal Core Update auf 7.91
  • (Gelöst) Taxonomie Beziehungen ausblendbar im Backend?
  • Suche Upgradeempfehlungen einer existenten Drupal7 Site auf 9/10?
  • Develop Custom Field in Views
  • Wie View mit einem Array von ids filtern?
  • Wie befülle ich den Cache automatisch? [gelöst]
  • [gelöst] "EntityMetadataWrapperException: Invalid data value given." für Datum-Feld in Webform
  • Wie kann man die Ansicht der Benutzer erweitern?
  • Paragraphs - mit drei Sprachen, die nicht immer alle übersetzt werden können.
  • Wie path/url_alias in views anzeigen?
  • Drupal 9 - PHP 8 - Modul funtkioniert nicht mehr
  • Timestamp wird in views falsch interpretiert
Weiter

Neue Kommentare

  • Ich würde erstmal unter
    vor 4 Stunden 46 Minuten
  • Danke Regina, für den
    vor 1 Tag 3 Stunden
  • Bei mir wird es
    vor 1 Tag 12 Stunden
  • Bei Strato kann man doch
    vor 1 Woche 11 Minuten
  • Fehlercode: SSL_ERROR_NO_CYPHER_OVERLAP
    vor 1 Woche 3 Stunden
  • Was ist denn
    vor 1 Woche 1 Tag
  • Ohne das jetzt sicher zu
    vor 1 Woche 1 Tag
  • Kann es sein, dass das zweite
    vor 1 Woche 1 Tag
  • Da gibt es ehrlich gesagt
    vor 1 Woche 1 Tag
  • [gelöst] "EntityMetadataWrapperException: Invalid data value giv
    vor 1 Woche 1 Tag

Statistik

Beiträge im Forum: 247937
Registrierte User: 19623

Neue User:

  • Davidenabs
  • climtarmut
  • VerifproMi

» Alle User anzeigen

User nach Punkten sortiert:
wla9218
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 26 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association