Teaser Verlinkung

Ich würde gerne den Teaser aus der Kategorie-Navigation nutzen um auf bestimmte Artikel oder Seiten zu verlinken. Man kann zwar die Verlinkung ändern, dann wird jedoch auch die Verlinkung der Kategorie geändert. Ist es möglich nur den Link des Bildes auf eine separate Seite zu setzen? Am besten wäre, wenn man die Freitextfelder nutzen könnte, um dort den Link des Bildes zu setzen. Wäre super, wenn mir einer helfen könnte (: LG

Hallo isoxoxo, ich gehe mal davon aus, dass du von dem erweiterten Menü sprichst. Um deinen Ansatz mit den Freitextfeldern zu realisieren, musst du das AdvancedMenu Plugin anpassen. Da im Template die Freitextfelder nicht zur Verfügung stehen, musst du zunächst die Bootstrap.php anpassen, um die Freitexfelder dem Template bereitzustellen. In Zeile ~333 werden die Kategorie Daten aufbereitet. Ich habe in meinem Beispiel hier Zeile 6 - 9 und Zeile 23 ergänzt. private function convertCategories($categories) { $converter = Shopware()-\>Container()-\>get('legacy\_struct\_converter'); return array\_map(function (Category $category) use ($converter) { $attributes = []; foreach ($category-\>getAttributes() as $struct) { $attributes = array\_merge($attributes, $struct-\>toArray()); } $data = ['id' =\> $category-\>getId(), 'name' =\> $category-\>getName(), 'parentId' =\> $category-\>getParentId(), 'hidetop' =\> !$category-\>displayInNavigation(), 'active' =\> 1, 'cmsHeadline' =\> $category-\>getCmsHeadline(), 'cmsText' =\> $category-\>getCmsText(), 'position' =\> $category-\>getPosition(), 'link' =\> 'shopware.php?sViewport=cat&sCategory=' . $category-\>getId(), 'media' =\> null, 'flag' =\> false, 'attributes' =\> $attributes]; if ($category-\>isBlog()) { $data['link'] = 'shopware.php?sViewport=blog&sCategory=' . $category-\>getId(); } if ($category-\>getMedia()) { $data['media'] = $converter-\>convertMediaStruct($category-\>getMedia()); $data['media']['path'] = $category-\>getMedia()-\>getFile(); } return $data; }, $categories); } [size=70]/engine/Shopware/Plugins/Default/Frontend/AdvancedMenu/Bootstrap.php[/size] Anschließend kannst du das eigentliche Template um den Link auf dem Teaser ergänzen. In Zeile ~70 wird der Teaser eingebunden. {\* Default category link \*} {$link = $mainCategory.link} {\* Custom link based on category attributes \*} {if !empty($mainCategory.attributes.attribute1)} {$link = $mainCategory.attributes.attribute1} {/if} [size=70]/engine/Shopware/Plugins/Default/Frontend/AdvancedMenu/Views/frontend/plugins/advanced_menu/index.tpl[/size] Zuletzt musst du nur noch deinen gewünschten Link in das Freitextfeld 1 eintragen und den Cache leeren, damit der Advanced Menu Cache neu aufgebaut werden kann. Ich hoffe das hilft weiter :slight_smile:

Genau das Erweiterte Menü meine ich :smiley: Muss ich in: /engine/Shopware/Plugins/Default/Frontend/AdvancedMenu/Views/frontend/plugins/advanced_menu/index.tpl den Quelltext in Zeile 70 einfügen oder den vorhandenen ersetzen? Sorry für die Frage… Aber bin noch nicht ganz so Firm :smiley: Für die genaue Stelle, wo er rein muss, wäre ich sehr dankbar. Ich danke schon einmal im Voraus (: LG

Hallo isoxoxo, einfach den Link durch mein angepasstes Template ersetzen, also Zeile 70 rausschmeißen und mein Template Code an dieser Stelle einfügen.