Eigene Tabs in der Detail Ansicht

Moin zusammen!

Ich bin gerade der Anleitung Shopware 5 eigene Tabs in der Detail Ansicht von kayyy gefolgt. Mein neuer Tab wird mir auf der Detailseite auch angezeigt sobald mein attr8 feld gefüllt ist. Problem ist das kein Titel angezeigt wird. In der Anleitung steht:

Unter Einstellungen->Textbausteine suchen wir einmal nach dem Feld Newtabsdescription und aktualisieren den Baustein mit unserem eigenen Text.

Bei Eingabe von Newtabsdescription wird mir aber nichts angezeigt. Somit lässt sich also auch kein Titel festlegen. Desweiteren steht dort man muss das Frontend mit dem Artikel einmal aufrufen damit der neue Textbaustein angelegt wird. Habe ich nun gefühlte 100mal gemacht und Cache gelöscht, Them kompiliert, wird einfach nicht angelegt der Textbaustein.

Unten in den Kommentaren hatte jemand genau das selbe Problem. Als Lösung wurde folgeneds Vorgeschlagen:

Du kannst auch einen default Text angeben. Dann nennst du den Textbaustein einfach:

{s name=‘NewTabsDescription’}Dein Tabtitel{/s}

So sollte dein Tab Titel direkt zu sehen sein. Und im Backend kannst du diesen dann trotzdem weiterhin über die Textbausteine editieren.

Habe ich natürlich dann auch einmal probiert, mein Titel wird mir dann zwar im Frontend angezeigt, über die Textbausteine lässt sich trotzdem nichts fnden. Somit könnte ich den Titel dann auch nicht übersetzen für den englischen Sprachshop. @kayyy wenn Du das liest, vielleicht hast Du ja noch ne Idee oder natürlich auch gerne alle anderen. :slight_smile:

Shopware: 5.1.2

LG

 

Hallo,

nur mal eine Frage nebenbei: rechnen sich die Nerven und die Zeit, die man sich mit der “Eigene Tab”-Anleitung und allem macht? Es gibt ja wirklich viele gute Tab-Plugins, die nicht mal 50 Euro kosten und wo man nicht mal die Artikel-Attributsfelder nutzen muss.

Und bei manchen gibt es sogar die Möglichkeit, Sprungmarken (ähnlich “Bewerten”) auf die Tabs zu setzen.

Beste Grüße

Sebastian

Ja lohnt sich definitiv! Zum einen lernt man etwas dazu. Zum anderen spart es Kohle. Und gerade für solch kleinen Dinge bei denen es gute Anleitungen gibt brauch man nun wirklich kein Plugin. Mein Motto: So wenig Plugins wie möglich, soviel wie nötig. :wink: Alles andere gibt nur Probleme.

Nun aber bitte Vorschläge wie das Problemchen zu lösen ist, danke!

Gib mal einen namespace mit an.
Das habe ich in meiner buy.tpl und kann damit unter index/detail den Textbausteinen ändern.

{s namespace="frontend/detail" name='ErsatztextAddToCard'}mein text{/s}

Man muss nicht wirklich für jeden Kleinkram ein Plugin kaufen - gerade bei Shopware *kostenexplosion*

Danke @sonic

Jetzt kann ich zumindest schon mal nach Newtabdescription in der Texbausteinverwaltung suchen und der Textbaustein wird mir auch angezeigt. Ich habe nun meinen Wert eingetragen, cache gelöscht, Theme kompiliert. Im Frontend ist der Tab aber immer noch ohne Titel, also der Wert aus dem Textbaustein wird nicht ausgegeben. Folgend mal der Inhalt meiner tabs.tpl

 

{extends file="parent:frontend/detail/tabs.tpl"}

{* New tab *}
{block name="frontend_detail_tabs_description" append}
{if $sArticle.attr8}
{s name='NewTabsDescription'}{/s}
{/if}
{/block}

{* New Tab container *}
{block name="frontend_detail_tabs_content_description" append}
{if $sArticle.attr8}

{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{$sArticle.attr8|strip_tags|truncate:100: '...'}{s name="PreviewTextMore"}{/s}
{include file="frontend/detail/tabs/new.tpl"}

{/if}
{/block}

 

Habs gefunden. Oben im ersten Block fehlte noch die Angabe` {s namespace=“frontend/detail”

Funzt nun also. Folgend dann nochmal der korrekte Code für alle anderen die evtl. mal vor dem selben Problem stehen:`

 

{extends file="parent:frontend/detail/tabs.tpl"}

{* New tab *}
{block name="frontend_detail_tabs_description" append}
{if $sArticle.attr8}
{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{/if}
{/block}

{* New Tab container *}
{block name="frontend_detail_tabs_content_description" append}
{if $sArticle.attr8}

{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{$sArticle.attr8|strip_tags|truncate:100: '...'}{s name="PreviewTextMore"}{/s}
{include file="frontend/detail/tabs/new.tpl"}

{/if}
{/block}

LG

Cache löschen - ich blicke auch nicht durch, wann was gelöscht wird und was wann nicht ;-) Bei Snippets muss ich manchmal noch extra den Cache “Shopware Konfiguration” löschen. Testweise könntest Du dem Textbaustein auch einen ganz neuen Namen geben, nicht, dass hier irgend ein Cache (Template-Cache etc.) auf den alten Block zugreift. Ich hatte auch al zwei Textbausteine mit gleichen Namen - mit und ohne namespace. Da ich nicht wusste, wie ich die aus Shopware entferne, habe ich einfach neue Namen vergeben - und es funktionierte. Ggf. solltest Du auch jeden {s}{/s} mit einem Dummytext vorbelegen.

Hat sich überschnitten :wink:

Bzgl des Problems mit dem Text. Bei der Migration ist hier wohl ein Hinweis verloren gegangen.

Wenn du einen neuen Textbaustein anlegst, dann musst du erst einmal das Frontend aufrufen, damit dieser indexiert wird. Danach kannst du den Textbaustein auch im Backend suchen, vorher wird dieser aber dort nicht angezeigt.

Ne das hatte ich ja geschrieben dass dies bei Dir auch in der Anleitung steht. Frontend usw. hatte ich dann natürlich mehrmals aufgerufen, Cache gelöscht etc. Textbaustein wurde aber nicht angezeigt. Der Tipp mit dem namespace von Sonic hat das Problem dann gelöst.

Okay, habe das/den Gist mal geupdated :) 

Super Danke! devil

Eine Frage hätte ich da noch. Bräuchte noch einen weiteren Tab. Habe dazu versucht mich an den Block {block name=“frontend_detail_tabs_rating” prepend} zu hängen bzw. meinen Inhalt davor auszugeben. Mein weiterer Tab wird mir auch angezeigt, allerdings geben beide neuen tTbs den selben Inhalt aus. Es wird also nicht zwischen attr8 und attr9 unterschieden.

Folgend mal mein momentaner Inhalt der tabs.tpl

 

{extends file="parent:frontend/detail/tabs.tpl"}

{* New tab *}
{block name="frontend_detail_tabs_description" append}
{if $sArticle.attr8}
{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{/if}
{/block}

{* New Tab container *}
{block name="frontend_detail_tabs_content_description" append}
{if $sArticle.attr8}

{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{$sArticle.attr8|strip_tags|truncate:100: '...'}{s name="PreviewTextMore"}{/s}
{include file="frontend/detail/tabs/new.tpl"}

{/if}
{/block}


{* New tab *}
{block name="frontend_detail_tabs_rating" prepend}
{if $sArticle.attr9}
{s namespace="frontend/detail" name='NewTabInfo'}{/s}
{/if}
{/block}

{* New Tab container *}
{block name="frontend_detail_tabs_content_rating" prepend}
{if $sArticle.attr9}

{s namespace="frontend/detail" name='NewTabInfo'}{/s}
{$sArticle.attr9|strip_tags|truncate:100: '...'}{s name="PreviewTextMore"}{/s}
{include file="frontend/detail/tabs/new.tpl"}

{/if}
{/block}

Und der Inhalt der new.tpl

 

    Zurück
  


  
    {$sArticle.attr8}
  



  
    
    Zurück
  


  
    {$sArticle.attr9}

Ja wie gesagt beide Tabs werden angezeigt im Frontend aber halt mit dem selben Inhalt.

Kann mir da jemand evtl. nochmal auf die Sprünge helfen?

Du includes ja in beiden Tabs die new.tpl und in der new.tpl sehe ich jetzt keine if Anweisung. Von daher ist es klar damit in beiden Tabs das gleiche steht.

Hier macht es mehr Sinn für den 2ten Tab eine separate Datei mit entsprechenden Inahlt zu includen.

Hoffe ich hab dich jetzt nicht komplett falsch verstanden?!

Hi Creatixx,

Du hast mich absolut richtig verstanden. :slight_smile: Nun geht´s, es kann so einfach sein, wenn man´s weiß. Ich habe einfach noch eine new2.tpl angelegt und dort mein weiteres Freitextfeld definiert. Danke!

Dann nun nochmal für alle anderen. Wenn ihr noch einen weiteren Tab wünscht.

Inhalt der tabs.tpl

 

{extends file="parent:frontend/detail/tabs.tpl"}

{* New tab *}
{block name="frontend_detail_tabs_description" append}
{if $sArticle.attr8}
{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{/if}
{/block}

{* New Tab container *}
{block name="frontend_detail_tabs_content_description" append}
{if $sArticle.attr8}

{s namespace="frontend/detail" name='NewTabsDescription'}{/s}
{$sArticle.attr8|strip_tags|truncate:100: '...'}{s name="PreviewTextMore"}{/s}
{include file="frontend/detail/tabs/new.tpl"}

{/if}
{/block}


{* New tab *}
{block name="frontend_detail_tabs_rating" prepend}
{if $sArticle.attr9}
{s namespace="frontend/detail" name='NewTabInfo'}{/s}
{/if}
{/block}

{* New Tab container *}
{block name="frontend_detail_tabs_content_rating" prepend}
{if $sArticle.attr9}

{s namespace="frontend/detail" name='NewTabInfo'}{/s}
{$sArticle.attr9|strip_tags|truncate:100: '...'}{s name="PreviewTextMore"}{/s}
{include file="frontend/detail/tabs/new2.tpl"}

{/if}
{/block}

Und der Inhalt der new2.tpl

 

    Zurück
  


  
    {$sArticle.attr9}

Danke nochmal an alle Helfer! :slight_smile:

LG

Kann man anstatt einer .tpl includen auch eine Shopseite nehmen? include=Custom=8 oder so sozusagen :smiley:

Ich möchte dieses Thema nochmal anstupsen. Die Zusätzlichen tabs konnte ich einrichten aber kann ich es auch einstellen, dass die Tabs offenbleiben wenn man z.B. das smartphone dreht.

Momentan wähle ich einen Tab aus Drehe das Display und der Tab springt wieder auf die Beschreibung. Gibt es da irgend einen Trick?

Hier hat niemand eine Antwort, oder? =/