5. Februar 2016
Shopware – Erweitertes Menü – Kategorie Attribute
Dieser Beitrag wurde 12201 mal angezeigt.
Hy Leute,
leider hat es Shopware versäumt oder wieder ausgebaut, die attributfelder der Kategorien mit in das Erweiterte Menü zu bringen.
Daher wird ein Modul benötigt, das die Informationen entsprechend erweitert.
Erstellt dazu den Ordner „AdvancedMenuAttribute“ unter
engine/Shopware/Plugins/Local/Frontend/
Hier legt ihr eine neue PHP Datei an, mit dem Namen Bootstrap.php mit folgendem Inhalt:
<?php class Shopware_Plugins_Frontend_AdvancedMenuAttribute_Bootstrap extends Shopware_Components_Plugin_Bootstrap { public function getCapabilities() { return array( 'install' => true, 'update' => true, 'enable' => true ); } public function getLabel() { return 'AdvancedMenu Kategorie Attribute'; } public function getVersion() { return '1.0.0'; } public function getInfo() { return array( 'version' => $this->getVersion(), 'label' => $this->getLabel(), 'autor' => 'Sven Gössling', 'supplier' => 'Sven Gössling', 'description' => 'Ausgabe der AdvancedMenu Kategorie Attribute.', 'support' => 'Kein Support', 'link' => 'https://sven-goessling.de' ); } public function install() { $this->registerEvents(); $form = $this->Form(); $form->setElement('checkbox', 'ShowAdvancedMenuAttribute', array( 'scope'=>Shopware_Components_Form::SCOPE_SHOP, 'description' => 'Einfügen der Kategorieattribute im AdvancedMenu.', 'label'=>'Attribute der Kategorien im AdvancedMenu einfügen?', 'value'=>true, )); $form->save(); return true; } public function uninstall() { return true; } private function registerEvents() {//Events $this->subscribeEvent( 'Enlight_Controller_Action_PostDispatch_Frontend_Index', 'onPostDispatchFrontend' ); } public function onPostDispatchFrontend(Enlight_Event_EventArgs $arguments) { //Template Variablen laden $config = Shopware()->Plugins()->Frontend()->AdvancedMenuAttribute()->Config(); if ($config->ShowAdvancedMenuAttribute) { $view = $arguments->getSubject()->View(); $AdvancedMenu = $view->getAssign('sAdvancedMenu'); if (isset($AdvancedMenu) && is_array($AdvancedMenu) && !empty($AdvancedMenu)) { foreach ($AdvancedMenu as $key=>$value) { $sql = "SELECT * FROM `s_categories_attributes` WHERE categoryID = ".$value['id'].";"; $cate_attr = Shopware()->Db()->fetchRow($sql); if (isset($cate_attr) && !empty($cate_attr)) { $AdvancedMenu[$key]['media']['attribute'] = $cate_attr; } } } $view->assign('sAdvancedMenu', $AdvancedMenu); } } } ?>
Danach das ganze im Backend unter Plugins installieren und aktivieren.
Fertig 😉
Related Posts
Picture Seller (20.12.12)
Mehr Sicherheit auch mit Plesk und Iptables (19.03.13)
Shopware 4: Auf Alphabetische Sortierung von Varianten ändern (12.04.13)
About Author
Sven
- Du hast Fragen? - Do you have a question? - Dir hat mein Beitrag geholfen? - If my articles helped you : - Spend me a Beer ;)