Hallo zusammen!
Ich möchte den Artikelnamen in die Breabcrumbs-Links in Shopware5 aufnehmen.
Ich habe mit diesem Beitrag ein Bild als Beispiel gesetzt.
https://imgur.com/QeBlRyL
https://imgur.com/11m9SOC
Ich habe den Beispielcode (darunter) der SEO-Einstellungsseite von Shopware 5 (Shopware 5 - Settings - Shopware SEO Guide) verwendet, aber dieser Code ändert nur den Seitentitel und nicht die Breadcrumbs Link
{extends file="parent:frontend/index/breadcrumb.tpl"}
{strip}
{if $sCategoryContent.attribute.attribute1}
{$sCategoryContent.attribute.attribute1} | {config name=sShopname}
{elseif $sArticle.attr1}
{$sArticle.attr1} | {config name=sShopname}
{else}
{if $sBreadcrumb}
{foreach from=$sBreadcrumb|array_reverse item=breadcrumb}{$breadcrumb.name} |
{/foreach}
{/if}
{config name=sShopname}
{/if}
{/strip}
Ich habe auch versucht, die breadcrumbs.tpl template file zu ändern. Aber das ist viel zu kompliziert für meine bescheidenen Shopware 5 und Programmierkenntnisse.
Kann jemand bitte einige Vorschläge zur Behebung dieses Problems machen?
Vielen Dank!
Mit freundlichen Grüßen
Marco
Vielen dank Mike!
Ich werde einen Blick auf diesen Link werfen
Gr.
Marco
Hmmmm … es funktioniert bei mir nicht mit dem {$ sArticle.name}.
Ich denke, der Teil
{$breadCrumbBackLink = $sBreadcrumb[count($sBreadcrumb) - 1]['link']}
muss geändert werden. Aber ich bekomme Ergebnisse.
Ich habe auch ein freies Textfeld mit dem Artikelnamen ($ sCategoryContent.attribute.attribute9) erstellt. Ich kann den Page Titel ändern, aber nicht den Breadcrumbs-Link
Gr.
Marco
Wenn ich es richtig verstehe, möchtest Du am Ende der Breadcrumbs den Artikelnamen anzeigen. Darum brauchst Du gar nichts mit Breadcrumbs zu machen, sondern einfach den Artikelnamen hinten dranhängen.
Mit {debug} im .tpl kannst Du sehen wie die verfügbaren Felder tatsächlich heißen. Eintragen, Cache leeren, Ansicht neu laden.
Oder im .tpl gucken wie die Variable heißt, die für den Artikelnamen auf der Artikelansicht zuständig ist.
Hallo Mike,
Vielen Dank für Ihre Kommentare. Ich bin etwas weiter gekommen!
Die {Debug} Funktion bietet viel mehr Klarheit. Super!
Imgur: The magic of the Internet
Ich denke, ich sollte die breadcrumbs.tpl template ändern. Hier werden alle Breadcrumb Informationen erstellt.
{* Prefix for the breadcrumb e.g. the configured shop name *}
{block name="frontend_index_breadcrumb_prefix"}{/block}
{block name="frontend_index_breadcrumb_content"}
{foreach $sBreadcrumb as $breadcrumb}
{block name="frontend_index_breadcrumb_entry"}
{if $breadcrumb.name}
{block name="frontend_index_breadcrumb_entry_inner"}
{if $breadcrumb.link}
{$breadcrumb.name}
{else}
{$breadcrumb.name}
{/if}
{/block}
{/if}
{if !$breadcrumb@last}
{/if}
{/block}
{/foreach}
{/block}
{debug}
Das Problem ist, dass sich die $sBreadcrumbs Variable in einer loop (foreach} Funktion befindet und nur Category Informationen enthält.
Ich muss den Wert von $sArticle.articleName (= “Polo shirt blauw”) irgendwo nach der (foreach} Funktion zur $breadcrumb.link hinzufügen.
Ich untersuche, wie das geht.
Gr.
Marco
ok! Ich werde etwas versuchen
{* Modify the breadcrumb *}
{block name='frontend_index_breadcrumb_inner'}
{block name="frontend_detail_breadcrumb_overview"}
{if !{config name=disableArticleNavigation}}
{$breadCrumbBackLink = $sBreadcrumb[count($sBreadcrumb) - 1]['link']}
{s name='DetailNavIndex' namespace="frontend/detail/navigation"}{/s}
{/if}
{/block}
{block name="frontend_index_breadcrumb_prefix"}
Home
/
{/block}
{block name="frontend_index_breadcrumb_content"}
{foreach $sBreadcrumb as $breadcrumb}
{block name="frontend_index_breadcrumb_entry"}
{if $breadcrumb.name}
{block name="frontend_index_breadcrumb_entry_inner"}
{if $breadcrumb.link}
{$breadcrumb.name}
{else}
{$breadcrumb.name}
{/if}
{/block}
{/if}
{if !$breadcrumb@last}
/
{/if}
{/block}
{/foreach}
{/block}
{block name="frontend_index_breadcrumb_suffix"}
/
{$sArticle.articleName|truncate:50|escapeHtml}
{/block}
{/block}
Hi. Gibt bestimmt noch ne bessere Lösung, aber so funktioniert es, sonst müsste man wahrscheinlich die detail.php anpassen.
Den Block einfach in der frontend/detail/index.tpl erstetzen.
Den BreadcrumbLink zu Startseite kannst du natürlich rausnehmen.
LG Philipp
1 „Gefällt mir“
Man könnte auch den Block {block name=„frontend_index_breadcrumb_suffix“}{/block} in der frontend/detail/index.tpl dafür nutzen.
Ja das Stimmt, sollte man denke auch machen.
Quellcode wurde im Post angepasst.
Hallo,
Ich habe einige Änderungen in der Datei grasscrumb.tpl vorgenommen. Wie Mike nach der {ForEach} Loop sagte.
Der Code ist nicht schön (ich bin kein professioneller Programmierer), aber er funktioniert irgendwie.
{$sArticle.articleName}
Wenn Sie Vorschläge zur Verbesserung des Codes haben, würde ich mich freuen, von Ihnen zu hören.
Imgur: The magic of the Internet
Gr.
Marco