Text unter jeder Artikelbeschreibung

Guten Morgen Community,

ich möchte in jeder Detailansicht eines Artikel einen ergänzenden Text darstellen.

Dies über die Freitextfelder zu lösen ist eine Variante, aber da es auf jeden Artikel zutreffen soll, macht es meiner Meinung nach mehr Sinn die entsprechende .tpl Datei oder ähnliches anzupassen/erweitern.

Ein eigenes Theme ist schon erstellt.

Frage: welche Datei muss für die Detailansicht bearbeitet werden? Hat jemand schon mal etwas ähnliches umgesetzt?

 

Vielen Dank

Je nach dem an welcher Stelle du es haben willst:

frontend/detail/index.tpl
frontend/detail/content.tpl

...

 

Hallo langnickel,

vielen Dank für die Rückmeldung.

Im Moment ist der Text in einem Freitext Feld und heißt Unser Kommentar zu “Artikelname”. Direkt unter den weiterführenden Links und über den Kunden haben sich ebenfalls angesehen. 

Gerne kann der Text an dieser Position weiterhin stehen. Muss ich in der .tpl Datei den Text einfügen? Oder mache ich das über die Textbausteine? Wenn ich das über die Textbausteine im Backend mache, wie kann ich ein neues Feld in der .tpl erstellen so das ich im Backend das auch verwalten kann. 

 

Danke

Die Textbausteine kannst du direkt über das Backend erstellen oder einen neuen, nicht vorhandenen Textbaustein einfach ins Template einbauen mit dem Standard Inhalt.
Beim ersten Aufruf des Templates über den Browser wird dieser Textbaustein dann automatisch angelegt (inkl. Standard Inhalt aus dem Template) und kann anschließend über das Backend editiert werden.

Einen Textbaustein im Template kannst du so einbauen:

 {s name="TextbausteinName" namespace="OptionalesNamespace"}Dein Standard Inhalt des Textbausteins{/s}

 

1 „Gefällt mir“

Guten Morgen,

die zweite Lösung hat gut geklappt. Allerdings im Bare Theme. Ich weiß, da habe ich nichts drin verloren. :wink:

Komischerweise hat das vererben im eigenen Theme nur ein Ups Fehlermeldung erzeugt. Warum auch immer. Mit anderen Dingen hat das erweitern durch das eigene Theme nämlich wunderbar geklappt. 

 

Danke

 

 

 

 

@iLuHa schrieb:

Die Textbausteine kannst du direkt über das Backend erstellen oder einen neuen, nicht vorhandenen Textbaustein einfach ins Template einbauen mit dem Standard Inhalt.
Beim ersten Aufruf des Templates über den Browser wird dieser Textbaustein dann automatisch angelegt (inkl. Standard Inhalt aus dem Template) und kann anschließend über das Backend editiert werden.

Einen Textbaustein im Template kannst du so einbauen:

{s name=„TextbausteinName“ namespace=„OptionalesNamespace“}Dein Standard Inhalt des Textbausteins{/s}

 

Schwierig zu sagen was die “Ups” Fehlermeldung verursacht.
Evtl. könntest du die genaue Fehlermeldung ja mal posten.

Hallo und sorry für die späte Antwort.

Die content.tpl aus dem bare Theme habe ich mit

         {s name=“TextbausteinName” namespace=“OptionalesNamespace”}Dein Standard Inhalt des Textbausteins{/s}

ergänzt. Der Text ist jetzt an gewünschter Stelle im Frontend zu sehen.

Ich vermute, der Fehler, so bald ich das im eigenen Theme umsetze, kommt daher weil ich der neuen .tpl ja gar keine Position für den neuen Text gebe.

Mit {extends file=“parent:frontend/index/footer.tpl”} zum Beispiel habe ich wunderbar die Originale footer.tpl erweitern können. Mache ich das aber für den neuen Text, passiert nicht das was passieren soll. Oder soll der komplette Code wie unten aufgeführt in die neue .tpl?

Hier noch der komplette Code aus der content.tpl

{block name=‘frontend_index_content_inner’}
   

        {* The configurator selection is checked at this early point
           to use it in different included files in the detail template. *}
        {block name=‘frontend_detail_index_configurator_settings’}

            {* Variable for tracking active user variant selection *}
            {$activeConfiguratorSelection = true}

            {if $sArticle.sConfigurator && ($sArticle.sConfiguratorSettings.type == 1 || $sArticle.sConfiguratorSettings.type == 2)}
                {* If user has no selection in this group set it to false *}
                {foreach $sArticle.sConfigurator as $configuratorGroup}
                    {if !$configuratorGroup.selected_value}
                        {$activeConfiguratorSelection = false}
                    {/if}
                {/foreach}
            {/if}
        {/block}

        {* Product header *}
        {include file=“frontend/detail/content/header.tpl”}

       

            {* Product image *}
            {block name=‘frontend_detail_index_image_container’}
               

                    {if $sArticle.image}
                    data-image-slider=“true”
                    data-image-gallery=“true”
                    data-maxZoom="{$theme.lightboxZoomFactor}"
                    data-thumbnails=".image–thumbnails"
                    {/if}>
                    {include file=“frontend/detail/image.tpl”}
               

            {/block}

            {* “Buy now” box container *}
            {include file=“frontend/detail/content/buy_container.tpl”}
       

        
        {* Product bundle hook point *}
        {block name=“frontend_detail_index_bundle”}{/block}

        {block name=“frontend_detail_index_detail”}

            {* Tab navigation *}
            {block name=“frontend_detail_index_tabs”}
                {include file=“frontend/detail/tabs.tpl”}
            {/block}
        {/block}
        
         {s name=“TextbausteinName” namespace=“OptionalesNamespace”}Dein Standard Inhalt des Textbausteins{/s}

        {* Crossselling tab panel *}
        {block name=“frontend_detail_index_tabs_cross_selling”}

            {$showAlsoViewed = {config name=similarViewedShow}}
            {$showAlsoBought = {config name=alsoBoughtShow}}
           

                {* Tab navigation *}
                {include file=“frontend/detail/content/tab_navigation.tpl”}

                {* Tab content container *}
                {include file=“frontend/detail/content/tab_container.tpl”}
           

        {/block}
   
{/block}

 

 

In deinem eigenen Theme musst du abgesehen von dem “extends” eigentlich nur den Block den du überschreiben / erweitern möchtest.
Ohne dem Template mitzuteilen an welcher Stelle die Änderung stattfinden soll, kann das Template dies ja auch nicht wissen. Deshalb muss immer ein im Bare vorhandener Block hierfür hergenommen werden.

In deinem Beispiel bräuchtes du eig nur das folgende in deinem eigenen Theme:

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

{block name="frontend_detail_index_detail"}
    {$smarty.block.parent}
    {s name="TextbausteinName" namespace="OptionalesNamespace"}Dein Standard Inhalt des Textbausteins{/s}
{/block}

 

1 „Gefällt mir“

Hat super geklappt. Vielen Dank dafür.

Den Code aus dem bare theme habe ich wieder entfernt. Spätestens beim nächsten Update wäre dieser natürlich eh rausgeflogen.

Danke nochmal

 

 

 

@iLuHa schrieb:

In deinem eigenen Theme musst du abgesehen von dem „extends“ eigentlich nur den Block den du überschreiben / erweitern möchtest.
Ohne dem Template mitzuteilen an welcher Stelle die Änderung stattfinden soll, kann das Template dies ja auch nicht wissen. Deshalb muss immer ein im Bare vorhandener Block hierfür hergenommen werden.

In deinem Beispiel bräuchtes du eig nur das folgende in deinem eigenen Theme:

{extends file=„parent:frontend/detail/content.tpl“}

{block name=„frontend_detail_index_detail“}
{$smarty.block.parent}
{s name=„TextbausteinName“ namespace=„OptionalesNamespace“}Dein Standard Inhalt des Textbausteins{/s}
{/block}