Odido
22. August 2019 um 15:04
1
Hallo zusammen,
kann mir bitte jemand sagen, wie ich in einer beliebigen TPL-Datei auf eine der Shopseiten (Inhalte/Shopseiten) zugreifen kann?
Ich hab mir zwar dazu schon die sites-navigation.tpl angeschaut, aber ich komm nicht drauf, wie ich die $customPages in meinem Template gefüllt bekomme.
Danke und liebe Grüße
Oliver
Hallo,
im Prinzip müsstest du dir das Array $customPages selbst in deinem gewünschten Controller „zusammenbauen“, anders geht es logischerweise nicht, da $customPages ja nur bei Shopseiten ausgeliefert wird. Siehe: https://github.com/shopware/shopware/blob/5.6/engine/Shopware/Controllers/Frontend/Custom.php#L57 bzw. https://github.com/shopware/shopware/blob/5.6/engine/Shopware/Controllers/Frontend/Custom.php#L73 .
Grüße
Sebastian
Odido
28. August 2019 um 14:18
3
Hallo Sebastian,
Danke für Deine Antwort. Im Prinzip klar, ABER wie und wo find ich jeweils den richtigen Controller?
Dake
Oliver
Hallo Oliver
Den richtigen Controller findest Du in der Browser Konsole:
Hier ist ersichlich das der Listing
Controller angesprochen wird.
Gruss
Alexander
1 „Gefällt mir“
Hier ein Beispiel wie Du eine Smarty Variable global für alle Views bereitstellen kannst - falls Dir so etwas hilft?
pluginName = $pluginName;
$this->pluginDirectory = $pluginDirectory;
$this->templateManager = $templateManager;
}
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PostDispatchSecure' => 'onFrontendPostDispatchSecure'
];
}
public function onFrontendPostDispatchSecure()
{
$this->assignSmartyVariables();
}
private function assignSmartyVariables()
{
$this->templateManager->assign('customPages', "Your Value");
}
}
In Deiner services.xml:
%customer_canvas.plugin_name%
%customer_canvas.plugin_dir%
1 „Gefällt mir“