Preprocess Anweisung um einzelne Node zu themen. Einziger Weg? Warum nicht Standard?
Eingetragen von stef1234 (133)
am 18.08.2010 - 00:27 Uhr in
am 18.08.2010 - 00:27 Uhr in
Hallo,
soeben kam mir der Gedanke, warum diese winzige Anweisung nicht standardmäßig in der template.php steht. Bei fast jedem Projekt kommt man doch früher oder später nicht am themen einer Node vorbei, oder? Müsst ihr nicht oft eine Node themen? Gibt es eine bessere/schnellere Alternative?
function THEMENAME_preprocess_node(&$vars) {
$vars['template_files'][] = 'node-'. $vars['node']->nid;
}
Danke,
viele Grüße Stefan
- Anmelden oder Registrieren um Kommentare zu schreiben
Also ich habe mich bisher
am 18.08.2010 - 01:45 Uhr
Also ich habe mich bisher immer mit dem Theming von Nodetypes begnügt.
In den meisten meiner
am 18.08.2010 - 08:18 Uhr
In den meisten meiner Projekten benötige ich auch nur das Themen der Nodetypen.
Ab und passiert es dann doch, dass ich diese Erweiterung einbinden muss, bzw. Sie ist standardmäßig in meiner Installation vorhanden, muss nur entsprechend wieder eingebunden werden.
Node themen
am 18.08.2010 - 08:31 Uhr
Hallo.
Das Anpassen des HTMLs für einzelne Nodes ist immer das letzte Mittel, zu dem man greifen sollte.
Zumal diese Anweisung auch gleich wieder ein wenig Performance einbüßt, da bei jedem Aufruf einer Node zusätzlich nach diesem Template gesucht werden muss.
Stefan
Vielen Dank für eure
am 18.08.2010 - 09:24 Uhr
Vielen Dank für eure Erfahrungen.
@stBorchert:
Wenn ich nur 3 Seiten themen MUSS, sollte ich dann lieber den lauffähigen Code in Inhaltstyp->Seite einfügen und PHP-Filter deaktivieren? Oder gibt es eine "bessere" Lösung, zB über das page-template?
Weil, das Wort Performanceeinbußen höre ich immer sehr ungern ;)
Vielen Dank,
viele Grüße Stefan
Theme
am 18.08.2010 - 09:44 Uhr
Also wenn Du exakt 3 Nodes hast, die spezielles Markup erfordern, kannst Du das Skript auch so abändern, dass das Template auch nur für diese 3 Nodes gesucht wird.
<?php
function THEMENAME_preprocess_node(&$vars) {
if ($vars['node'] && in_array($vars['node']->nid, array(1, 2, 3))) {
$vars['template_files'][] = 'node-'. $vars['node']->nid;
}
}
?>
hth,
Stefan
Hallo Stefan, danke für den
am 18.08.2010 - 10:17 Uhr
Hallo Stefan,
danke für den Code. Kann ich perfekt gebrauchen :)
Der Vollständigkeitshalber: Ist es besser/performanter die page-xxx.tpl.php zu benutzen?
Vielen Dank,
viele Grüße Stefan