Neu JTL5 - NOVA: Eigene Seite über Artikelattribute im Tab einbinden

knackig

Sehr aktives Mitglied
17. November 2011
950
155
Nordhessen
Ich habe schon länger die Möglichkeit gesucht, eigene Seiten im Shop durch die tab1, tab2-Attribute über die Wawi einbinden zu können. Bspw für Informationen, die bei vielen Artikel abgelegt werden müssen/sollen. Bei der Umsetzung mit den Standardmitteln müsste man bei jeder Änderung des Inhalts die Ameise bemühen. Doch eine CMS-Seite anpassen ist einfacher, als Export, Bearbeiten, Import über die Wawi/Ameise.

In dem neuen NOVA-Template habe ich es mit geringer Templateanpassung nun endlich doch geschafft :thumbsup: . Falls es für jemanden interessant ist, hier meine Lösung:

  1. Eine gewöhnliche CMS-Seite anlegen
    Wichtig für die Attribute ist die ID.
  2. Einstellung in der Wawi:
    Die Attribute werden wie folgt in der Wawi angelegt:
    tab1 name = "cms_"+Name des Tabs (zB: Wenn "Anleitung" im Tab-Namen angezeigt werden soll: "cms_Anleitung")
    tab2 inhalt = ID der eigenen Seite im Shop (wird beim Bearbeiten des Seite ganz oben neben dem Namen angezeigt)
  3. Template-Anpassung
    Mittels Child-Template werden 2 Blöcke in der Datei /productdetails/tabs.tpl abgeändert. Hier der Inhalt der Child-Datei /productdetails/tabs.tpl:

    Code:
    {extends file="{$parent_template_path}/productdetails/tabs.tpl"}
    {block name='productdetails-tabs-tab-separated-tabs'}
    {foreach $separatedTabs as $separatedTab}
    {tab title=$separatedTab.name active=$setActiveClass.separatedTabs && $separatedTab@first id="{$separatedTab.id}"}
    {if $separatedTab.name|substr:0:4 == 'cms_'}
    {$separatedTab.name = $separatedTab.name|substr:4}
    {get_cms_content kLink=$separatedTab.content}
    {else}
    {$separatedTab.content}
    {/if}
    {/tab}
    {/foreach}
    {/block}
    
    {block name='productdetails-tabs-separated-tabs'}
    {foreach $separatedTabs as $separatedTab}
    {card no-body=true}
    {cardheader id="tab-{$separatedTab.id}-head"
    data=["toggle" => "collapse",
    "target"=>"#tab-{$separatedTab.id}"]
    aria=["expanded" => "{if $setActiveClass.separatedTabs && $separatedTab@first}true{else}false{/if}",
    "controls" => "tab-{$separatedTab.id}"]
    }
    {if $separatedTab.name|substr:0:4 == 'cms_'}
    {$separatedTab.name|substr:4}
    {else}
    {$separatedTab.name}
    {/if}
    {/cardheader}
    {collapse id="tab-{$separatedTab.id}" visible=($setActiveClass.separatedTabs && $separatedTab@first)
    data=["parent"=>"#tabAccordion"]
    aria=["labelledby"=>"tab-{$separatedTab.id}-head"]
    }
    {cardbody}
    {if $separatedTab.name|substr:0:4 == 'cms_'}
    {get_cms_content kLink=$separatedTab.content}
    {else}
    {$separatedTab.content}
    {/if}
    {/cardbody}
    {/collapse}
    {/card}
    {/foreach}
    {/block}
Wesentliche Änderung ist die folgende:
Statt der einfachen Ausgabe des Namens und des Inhalts wird erst geprüft, ob im Namen an den ersten 4 Stellen "cms_" vorkommt: {if $separatedTab.name|substr:0:4 == 'cms_'}
Falls ja, wird der Name um die ersten 4 Stellen gekürzt: {$separatedTab.name|substr:4}
Als Inhalt wird dann die CMS-Seite mit der im Attribut genannten ID abgerufen: {get_cms_content kLink=$separatedTab.content}
Das gleiche in 2 Blöcken, da es einmal für die Tab-Darstellung und einmal die Ohne-Tab-Darstellung (zB mobil) funktionieren soll.

Der Vorteil: Wenn Tab-Name nicht mit "cms_" beginnt, greift die Standard-Vorgehensweise. Also Name und Inhalt wie in der Wawi eingestellt.

Vielleicht hilft es jemandem weiter...
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Unterstützung bei JTL5-Shop-Überarbeitung gesucht - Template/Plugin uvm. Dienstleistung, Jobs und Ähnliches 1
Neu Nova Template Container in Container Boxed Templates für JTL-Shop 2
Neu Nova Farbe ändern Templates für JTL-Shop 14
Neu JTL-Shop 5 Nova-Template / Darstellung der Produktliste teilweise fehlerhaft JTL-Shop - Fehler und Bugs 1
Neu Nova - Größe der Slides / Anzahl der Artikel bei Cross Selling Slider anpassen Templates für JTL-Shop 3
Neu Social-Media Icon Nova Templates für JTL-Shop 0
Neu nova änderungen Templates für JTL-Shop 13
Neu Vorstellung des Avada-Themes für das NOVA-Template Templates für JTL-Shop 2
Neu NOVA, Logo wird in mobiler Ansicht verzerrt dargestellt Templates für JTL-Shop 0
Neu Eigene Felder Checkbox Inhalt bzw. Text bei Mouseover anzeigen JTL-Wawi - Ideen, Lob und Kritik 0
Neu Eigene Seiten mit Plugin erstellen Technische Fragen zu Plugins und Templates 0
Neu Eigene Felder Lieferschein User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Eigene Felder des Auftrages in der Druckvorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Eigene Felder für Ebay-Listings verwenden JTL-Wawi 1.8 0
Neu Eigene Felder im Verkauf als Spalten anzeigen User helfen Usern - Fragen zu JTL-Wawi 4
Eigene Felder in alte Vorlagen JTL-Wawi 1.8 5
In Diskussion eigene CustomWorkflows anlegen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Artikel - Sprachen - Alle eigene SEO URL? Smalltalk 1
Neu Barcode Anpassung in Artikeletikett anhand Eigene Felder Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Eigene Übersicht Artikel - Zulaufsübersicht - Stückliste Eigene Übersichten in der JTL-Wawi 0
Neu Eigene Übersichten, Artikelhistorie Eigene Übersichten in der JTL-Wawi 1
Neu Sind eigene Felder im Artikel in einer neueren Wawi-Version von Anfang an sichtbar? User helfen Usern - Fragen zu JTL-Wawi 8
Eigene Auswertung JTL-Wawi 1.8 1
Neu Eigene Seiten Priority in der Sitemap ändern Allgemeine Fragen zu JTL-Shop 5
Neu Eigene Seite sichern Allgemeine Fragen zu JTL-Shop 1
Neu Wie importiere ich die Zahlungs-ID für meine eigene benutzerdefinierte Zahlung, wie es andere Anbieter wie Paypal und Molli Payments in Shopware 6? Onlineshop-Anbindung 0
Neu Eigene Übersicht im Verkauf zu einem ausgewähltem Auftrag: Kundenattribut Anmerkungen Eigene Übersichten in der JTL-Wawi 4

Ähnliche Themen