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

knackig

Sehr aktives Mitglied
17. November 2011
953
157
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 NOVA - Bildgrößen Vaterartikel falsch, Kindartikel passt Templates für JTL-Shop 1
Neu Google liest falsche Preise im Nova Template Templates für JTL-Shop 13
Neu Nova Template und Google Analytics, Ads Technische Fragen zu Plugins und Templates 3
Neu NOVA Menü blendet immer Untermenüs ein? Allgemeine Fragen zu JTL-Shop 1
Neu Standart Nova Template Allgemeine Fragen zu JTL-Shop 9
Neu Änderung des Layouts der Kategorieboxen im Nova Template Templates für JTL-Shop 6
Neu NOVA Theme Fehler - 5.5.2 JTL-Shop - Fehler und Bugs 11
Neu KI-WaWi-Workflows: Eigene KI-Endpunkte direkt aus JTL-Workflows ansprechen – ohne Plugin, flexibel und schnell Dienstleistung, Jobs und Ähnliches 0
Eigene Felder im Block "Firmen- und E-Mail Einstellungen verwalten" JTL-Wawi 1.10 3
Neu Automatisch generierte Eigene Felder PAYPAL_FUNDING_SOURCE und AmazonPay-Referenz User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Bestellbestätigung User helfen Usern - Fragen zu JTL-Wawi 4
Neu Eigene Felder (Firma) in Mailvorlage User helfen Usern - Fragen zu JTL-Wawi 1
Neu "Eigene Felder" bei Lieferadresse anlegbar JTL-Wawi - Ideen, Lob und Kritik 3
Neu Wie füge ich dem News-System eigene Input-Felder hinzu? Technische Fragen zu Plugins und Templates 3
Eigene Inhalte - Inhalte im Backend nicht sichtbar Einrichtung JTL-Shop5 1
Neu Eigene Felder - Sortierung wird nicht in JTL Shop übernommen - Anzeige im Shop immer unterschiedlich User helfen Usern - Fragen zu JTL-Wawi 0
Neu Lieferzeiten für Dropshipping und eigene Artikel richtig in Shopware 6 bzw. Wawi anzeigen Schnittstellen Import / Export 1
Neu JTL Shop (anderes Template) eigene Felder aus Wawi als TAB im Shop User helfen Usern - Fragen zu JTL-Wawi 12
Neu Eigene Preislisten Vorlage erstellen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Eigene Übersicht im Kundenstammblatt für durchschnittlichen Auftragswert/Röherlös/Zahlungsdauer Eigene Übersichten in der JTL-Wawi 3
Eigene Übersichten verschieben JTL-Wawi 1.9 1

Ähnliche Themen