Inhaltstype ohne Template?

am 07.10.2007 - 13:27 Uhr in
Hallo zusammen,
für verschiedene AJAX requests benötige ich einen eigenen Inhaltstype, der allerdings kein Template hat.
Für die requests benötige ich verschiedene Drupal Variablen, daher kommt ein Aufruf einer nicht Drupal-Adresse nicht in frage.
Danke für eure Hilfe !
Gruß
Andi
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich bin´s wieder :-) Nun
am 07.10.2007 - 14:30 Uhr
Ich bin´s wieder :-)
Nun habe ich verstanden wie Drupal mit der page.tpl.php arbeitet.
Nachzulesen unter http://www.drupalcenter.de/handbuch/4284
Allerdings klappt es nicht.
Meine Node-Adresse ist:.../ajax/1
Und mein Template ist: page-ajax-1.tpl.php
Was meiner Ansicht klappen sollte. Aber leider wird immer noch die page.tpl.php aufgerufen, obwohl auch die Rechte der Datei stimmen.
Kann mir jemand weiterhelfen?
Node-Template vs. Page-Template
am 07.10.2007 - 15:51 Uhr
Und mein Template ist: page-ajax-1.tpl.php
Warum macht Du Page-Templates?
Wuerdest Du nicht mit Node-Templates flexibler sein? Du erstellst Dir ein Sammelsurium erforderlicher Inhaltstypen/Nodetypen. Fuer diese Types erstellst Du nach dem Inhalts-Muster der generischen "node.tpl.php" nach Bedarf Deine Node-Templates nach dem Motto "node-nodetype.tpl.php". Deine Inhalte werden beim Erstellen mit dem fuer den Inhalt in Frage kommenden Nodetype erstellt.
Mit Views greifst Du gezielt auf einzelne Nodetypes zu um sie anzuzeigen. Dieser Weg spart Dir eventuell manche Kopfstaende bei der fortlaufenden Verwaltung Deiner Menuestrukturen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Danke für deine Antwort,
am 07.10.2007 - 16:09 Uhr
Danke für deine Antwort, quiptime!
So habe ich mir das am Anfang auch gedacht, allerdings habe ich dann den Inhalt aus der page.tpl.php schon in der Seite. Da zuerst die page.tpl.php geladen wird und dann die node.tpl.php. Ich brauche halt eine komplett leere Seite ohne Template, nur mit den Variablen $content und $title.
Eben habe ich den Fehler gefunden, es geht nur mit den reinen System-URLs. Was wirklich doof ist, so muss ich für jedes Node eine Datei page-node-XXX.tpl.php erstellen.
Eigentlich, hätte ich gedacht das ich das über die Inhaltstypen regel könnte.
Zitat: Ich brauche halt
am 07.10.2007 - 18:32 Uhr
Ich brauche halt eine komplett leere Seite ohne Template, nur mit den Variablen $content und $title.
Wenn Du das willst dann nimm doch einfach Meister Proper. ;-))
Im Ernst: Cleane die page.tpl und schmeisse alles raus ausser $content und $title.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
ja, so habe ich es jetzt
am 07.10.2007 - 19:05 Uhr
ja, so habe ich es jetzt gemacht. Muss halt nur für jeden Node eine Datei erstellen :-(
Wegen den Node ID´s page-node-xxx.tpl.php
z.B. meine page-node-324.tpl.php für die Adresse http://www.site.de/node/324
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language ?>" xml:lang="<?php print $language ?>">
<head>
<title><?php print $head_title ?></title>
</head>
<body>
<h3><?php print $title ?></h3>
<?php print $content; ?>
</body>
</html>
Das kann für einige wenige
am 07.10.2007 - 21:49 Uhr
Das kann für einige wenige Seiten die Lösung sein. Aber sonst, ... ne Du.
Habe zwar den Eröffnungspost gelesen verstehe aber den Grund nicht wirklich.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
So toll finde ich die
am 09.10.2007 - 16:37 Uhr
So toll finde ich die Lösung auch nicht. Aber vielleicht hat jemand anderes eine bessere Idee als ich.
Ich erklär nochmal kurz was ich vor habe:
Mit dem Ajax.Updater von Prototype möchte ich verschiedene DIV aktualisieren.
Hierfür ruft der Ajax.Updater eine Seite innerhalb von Drupal auf und fügt deren Inhalt in ein DIV ein.
Natürlich kann ich in dem DIV nicht irgend welche Menüs oder ähnliches aus dem Template gebrauchen. Daher brauch ich halt eine komplett leere Seite. Nur mit dem Inhalt den ich für mein DIV brauche. z.B. "Update OK".
Gruß
Andreas
Meine Lösung
am 30.10.2007 - 10:50 Uhr
für dieses Problem bedient sich der Meister Propper Philosophie :)
ajax post wo auch immer (jquery)
$.post(url, {ajax: 1})
page.tpl.php
if ($_POST['ajax'] == 1) {
return $content;
}
<doctype ....
<html>
...
...
</html>
Node Style könnte Dir da
am 05.11.2007 - 22:01 Uhr
Node Style könnte Dir da weiterhelfen?
http://drupal.org/project/node_style
Evtl. klappt es ja.
Gruß Andreas
Kann man da nicht mit dem
am 23.11.2007 - 18:34 Uhr
Kann man da nicht mit dem Modul Taxonomy Theme einem Node Typ ein bestimmtes Theme zuordnen und in diesem Theme die page.tpl.php bearbeiten?