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

knackig

Sehr aktives Mitglied
17. November 2011
952
156
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 Keine Bestellung möglich über Nova 5.4 auf 4K Laptop JTL-Shop - Fehler und Bugs 16
Neu Laden einer JS-Datei aus dem Nova im Child Template verhindern Templates für JTL-Shop 4
Neu NOVA (ChildTemplate) Header Einstellungen funktionieren nicht Templates für JTL-Shop 0
Neu Artikelsticker mit Nova-Template Einrichtung von JTL-Shop4 11
Neu Kategorien im NOVA werden nicht angezeigt Templates für JTL-Shop 19
Neu GPSR Verordnung - Wie handhabt ihr das im Shop mit dem Nova Template? Betrieb / Pflege von JTL-Shop 30
Neu Shop 5.3.3 Nova mobile Ansicht sehr klein somit schwer bedienbar Allgemeine Fragen zu JTL-Shop 8
JT WAWI 1.9.6.1 Eigene Felder werden nicht mehr übertragen, bzw. gelöscht JTL-Wawi 1.9 10
Neu Eigene Kategorien für ebay Angebote oder JTL Wawi Kategorie Baum nutzen Einrichtung und Installation von JTL-eazyAuction 0
Neu List & Label - Eigene SQL-Abfrage als Grundlage für Tabelle im Berichtscontainer? User helfen Usern - Fragen zu JTL-Wawi 10
QR-Code Formel kann nicht in die eigene Vorlage hinzugefügt werden JTL-Wawi 1.9 1
Neu JTL Shop 5.4.0 eigene Inhalte/Seiten hinzufügen nicht möglich JTL-Shop - Fehler und Bugs 5
Neu SQL Eigener Export - Eigene Felder im Auftrag User helfen Usern - Fragen zu JTL-Wawi 7
Neu Eigene Felder aus dem Auftrag in der Packtisch+ / WMS Ausgabe JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 4
Lieferscheine -versendet / Eigene Übersicht: Kundenkategorie aus den Kundenstammdaten JTL-Wawi 1.8 3
Neu Eigene Felder / Attribute spaltenweise exportieren JTL Ameise - Eigene Exporte 6
Neu Wie kann ich über eigene Felder eine Mehrfachauswahl erstellen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Eigene Übersichten - Beschaffung - Bestellvorschläge - nur Standardlieferant anzeigen Eigene Übersichten in der JTL-Wawi 4
Neu Eigene Übersicht Kunde QR Code Kundennummer Eigene Übersichten in der JTL-Wawi 4
Eigene USt-IdNr. fehlt in der Auftragsansicht bei Auslandsbestellungen (JTL-Wawi 1.8.12.2) JTL-Wawi 1.8 3
Neu Eigene Alerts im Template ausgeben bzw. hinzufügen Templates für JTL-Shop 0

Ähnliche Themen