$content in page.tpl.php aus Modul heraus editieren (Übercart Produkt)
Eingetragen von Peter Majmesku (656)
am 14.06.2010 - 22:44 Uhr in
am 14.06.2010 - 22:44 Uhr in
Hallo,
bisher habe ich es nicht geschafft, "immer" vom Modul aus die $content-Variable zu editieren. Ich musste bei Übercart-Produkten in die page.tpl.php-Datei eingreifen. Manchmal konnte ich mit hook_nodeapi() ran, aber bei mittels Übercart erstellten Produkten nicht. Hat jemand eine Idee, was man im Modul tun muss um an die Variable heran zu kommen?
HAND
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, was genau möchtest Du
am 15.06.2010 - 09:00 Uhr
Hi,
was genau möchtest Du denn machen ? - Denn es ist ein wenig "komplex" beschrieben... in einem Moment redest Du von der page.tpl.php und im anderen Moment von hook_nodeapi...
$content in der Node ist ja der gerenderte Inhalt einer Node... Es gibt viele Wege wie man in einer Node Variablen bearbeiten kann:
Du könntest über einen preprocess_node() variablen bearbeiten...
Du könntest (wenn es z.b. nur um das Aussehen geht) einfach eine node-product.tpl.php (product = inhaltstyp) anlegen und anpassen...
Du könntest über einen hook_nodeapi() eingreifen...
Gruß Dennis
Blackice2999 schrieb was
am 15.06.2010 - 09:47 Uhr
was genau möchtest Du denn machen ? - Denn es ist ein wenig "komplex" beschrieben... in einem Moment redest Du von der page.tpl.php und im anderen Moment von hook_nodeapi...
Wenn ich bisher die $content Variable ändern wollte, die in page.tpl.php ausgegeben wird, so habe ich das nicht immer per hook_nodeapi() geschafft. Über das Theme kam ich dran.
Du könntest (wenn es z.b. nur um das Aussehen geht) einfach eine node-product.tpl.php (product = inhaltstyp) anlegen und anpassen...
Interessante Vorgehensweise. Kannte ich noch nicht.
Du könntest über einen preprocess_node() variablen bearbeiten...
Über das Template komme ich ja ran. Über mein Modul mit hook_nodeapi() aber nur, wenn es sich um einfache Nodes handelt und keine Waren, die mit dem Übercart-Shop Modul erstellt wurden.
Hi, ich glaube Du
am 15.06.2010 - 09:50 Uhr
Hi,
ich glaube Du verwechselst da was. Es zwingt dich keiner einen preprocess im template zu schreiben. Du kannst auch einfach ein Modul schreiben.
Modulname: mypreprocesses (.info / .module)
Und dann dort direkt die preprocesses ansprechen:
mypreprocesses_preprocess_node() {}
Gruß Dennis
Hi, ich wollte nun
am 15.06.2010 - 10:23 Uhr
Hi,
ich wollte nun preprocess_node() in meinem Modul anhand von http://api.drupal.org/api/function/template_preprocess_node/6 ausprobieren:
<?php
function mymodule_preprocess_node(&$variables){
var_dump($variables['node']);
}
?>
Hierbei erhalte ich jedoch leider keine Ausgabe. Hast Du eine Idee, wie ich dennoch den Inhalt der Variablen mit pretty Printern ausgeben kann?
HAND