Es ist manchmal wirklich ärgerlich, dass nicht alle Variablen in xtCommerce (oder auch den Forks) zur Verfügung stehen. Aus diesem Grund schreibe ich hier einmal meine wichtigsten Erkenntnisse (eventuell profitieren ja auch andere davon) auf um das Ganze zu dokumentieren.
Beispielsweise steht die {$navtrail} nicht in jedem Template zur Verfügung. Ich hätte diese Breadcrumb durchaus in einer Template-Datei benötigt. Um die {$navtrail} nun außerhalb der index.html nutzen zu können muss diese jeweils in den Template-Generator-Dateien als Smarty-Variable deklariert werden.
D.h. um die {$navtrail} z.B. in der product_info_v1.html anzeigen zu lassen ist es nötig mit
$smarty->assign('navtrail',$breadcrumb->trail(' » '));
die includes/modules/product_info.php zu erweitern. Dann kann man die Breadcrumb auch auf der Produkt-Detailseite anzeigen lassen.
Suspekterweise ist das Verfahren nicht immer gleich: Um die Breadcrumb in der product_listing_v1.html zu bekommen fügt man einfach folgendes nach dem {config_load} ein:
{php}
global $smarty;
$this->assign('navtrail',$smarty->_tpl_vars['navtrail']);
{/php}
Auch hier ist es dann möglich mit {$navtrail} die Breadcrumb anzeigen zu lassen.
Denselben Code kann man auch nutzen um eine Box in der “Mitte”, also im main_content.html anzeigen zu lassen. Hierbei darf man natürlich nicht vergessen das “Box-Template” dementsprechend anzupassen. Eine entsprechende Anleitung habe ich auf gunnart.de gefunden.
Den folgenden Code muss man bei diesem Vorhaben in der main_content.html einfügen.
{php}
global $smarty;
$this->assign('box_BEST_SELLERS',$smarty->_tpl_vars['box_BEST_SELLERS']);
{/php}
Es ist manchmal ein Kampf die Variablen dort verfügbar zu machen wo man sie benötigt. Aber mit oben aufgeführten Techniken habe ich es bei jeder Variable geschafft.
Dieser Artikel xtCommerce und die lieben Variablen erschien zuerst auf Gernot Gawlik.