Templates für Ajax Requests
am 20.05.2011 - 13:03 Uhr in
Hallo,
ich lese schon länger in diesem großartigen Forum mit und jetzt meine erste Frage:
Ich baue im Moment ein kleines Modul, um Inhalte von Nodes per Ajax (bzw. Ahah) neu zu laden und den Page Reload loszuwerden. Dazu mache ich mit jQuery einen Get-Request an die Adresse der Seite, deren Inhalt geladen werden soll und habe im Modul Preprocess-Funktionen, die für html, page und node ein anderes Template ausgeben sollen (entspricht ziemlich genau dem Vorgehen in diesem Artikel).
Mein Problem ist jetzt, dass die Preprocess-Funktionen zwar durchlaufen werden, ich aber beim Aufruf einer Seite über einen ajax-Link trotzdem nicht meine schon im Template "abgespeckte" Variante der Seite lade, sondern eben doch die normale Seite über die Standard-Templates. Wie baue ich meine html/page/node.tpl.php-Dateien am sinnvollsten ins Modul ein?
Hier findet ihr den Code bei gist.
Die .module-Datei hat natürlich eigentlich kein .php als Dateiendung. Die *.tpl.php-Dateien habe ich schon nach /templates/, /sites/all/templates/ und in den Ordner des Moduls kopiert, aber scheinbar werden sie nicht berücksichtigt. Muss ich sie noch irgendwie gesondert registrieren?
Vielen Dank schonmal für eure Hilfe,
Marc
- Anmelden oder Registrieren um Kommentare zu schreiben
Da findet unser Artikel ja
am 27.05.2011 - 12:06 Uhr
Da findet unser Artikel ja doch wieder einen Leser mehr ;)..
Wie ist denn deine Drupal-Seite aufgebaut - der Verweis auf html/page/node.tpl.php lässt mich da schon ein bissl nachdenklich werden - so sollte es in Drupal nicht ausschauen..
Deine Theme-Dateien müssen sich im Ordner:
sites/all/themes/deintheme/ oder sites/default/themes/deintheme/ befinden.
Und genau in diesen Ordner kopierst du dir die entsprechenden tpl.php bzw. die template.php. Falls die Templates nicht gezogen werden, könnte dies an einem nicht geleertem Theme-Cache oder an der fehlenden "Grund-TPL" liegen - sprich die page.tpl.php / html.tpl.php im Theme _ Ordner.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.