Fügen Sie den Artikelnamen Breadcrumbs-Link hinzu

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

 

Du müsstest eigentlich nur {$sArticle.name} anhängen.

Irgendwo hier: https://github.com/shopware/shopware/blob/5.6/themes/Frontend/Bare/frontend/detail/index.tpl#L16

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 :frowning:

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

Einfach nach {/foreach}

ok! Ich werde etwas versuchen :slight_smile:

{* 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