Neu Attribute/Merkmale in eigenen Tab

JrDeline

Aktives Mitglied
27. Oktober 2016
4
0
Hi,
Ich befasse mich jetzt seit 1 Woche nun mit dem JTL Shop (Version 4.04) / Wawi (V 1.1.4.7), was wie ich mitbekommen habe, sehr komplex ist.

Mittlerweile habe ich so gut wie jede Doku durch, jedoch hänge ich bei einem vermutlich kleinen Problem, welches mir aber schon Stunden an erfolgloser Suche gekostet hat.

Standart werden ja in den Artikeldetails die Attribute und Merkmale im Anschluss an die Beschreibung angehängt.
Wie bekomme ich im Frontend die Attribute und Merkmale des Artikel auf einen eigenen Tab?
 
Zuletzt bearbeitet:

JrDeline

Aktives Mitglied
27. Oktober 2016
4
0
Hab ich mir schon fast gedacht. Habe schon mal ein Child Template angelegt und gehe mal davon aus, dass das in der "tabs.tpl" zu realisieren wäre.
Kann mir jemand sagen was und wie ich das ändern kann/muss damit die Attribute als Tab gezeigt werden?
 

JrDeline

Aktives Mitglied
27. Oktober 2016
4
0
Wie ist Deine Vorgehensweise zu realisieren?

Jeder Artikel bei mir hat Attribute, wäre es da nicht sinnvoller das gleich im Template zu ändern (wenn man bzw. ich wüsste wie das funktioniert :))?
 

zerros24

Mitglied
21. November 2017
6
0
Versuch doch mal ein Sprachvariable anzulegen, in dem Beispiel ist es die detailsOnItem in der Section productDetails, dannach eben folgender Code in die tabs.tpl. Hat bei mir wunderbar geklappt.

{if $Einstellungen.artikeldetails.merkmale_anzeigen === 'Y'}
{$tabsPaneleArr['attributes'] = [
'id' => 'attributes',
'cName' => {lang key="detailsOnItem" section="productDetails"},
'content' => {include file="productdetails/attributes.tpl" }
]}
{/if}
 

Biiissen

Aktives Mitglied
19. März 2017
27
7
Bissen, Luxemburg
Hallo JrDeline,

falls du noch Interesse hast, probier doch folgendes.

In der tabs.tpl kommentierst du diesen Block:
Code:
{block name="tab-description-attributes"}
{include file="productdetails/attributes.tpl" tplscope="details"}
{/block}
so aus:
Code:
{*block name="tab-description-attributes"*}
{*include file="productdetails/attributes.tpl" tplscope="details"*}
{*/block*}

Dann fügst du z.B. vor {* BEWERTUNGEN *} folgendes ein:
Code:
{* MERKMALE *}
{if $Einstellungen.artikeldetails.merkmale_anzeigen === 'Y' && !empty($Artikel->oMerkmale_arr)}
  <div role="tabpanel" class="{if $tabanzeige}tab-pane{else}panel panel-default{/if}" id="tab-attributes">
    <div class="panel-heading" {if $tabanzeige}data-toggle="collapse" {/if}data-parent="#article-tabs" data-target="#tab-attributes">
      <h3 class="panel-title">{lang key="characteristics" section="comparelist"}</h3>
    </div>
    <div class="tab-content-wrapper">
      <div class="panel-body">
        <h3>{lang key="characteristics" section="comparelist"}</h3>
        {include file='productdetails/attributes.tpl'}
      </div>
    </div>
  </div>
{/if}

Dann kannst du noch in der attributes.tpl den <hr> so auskommentieren <!--<hr>-->.
Und dann sollte das Ganze schon nicht so schlecht ausschauen.

Viele Grüße,
Laurent
 
  • Gefällt mir
Reaktionen: strommi und vakobe

strommi

Gut bekanntes Mitglied
24. September 2017
181
5
Hat den Vorschlag jemand schon ausproblert. Suche gerade auch eine Möglichkeit, Merkmale in einem separaten Tab darzustellen. Möglichst responsiv
 

301Moved

Sehr aktives Mitglied
19. Juli 2013
930
187
Wenn ich es gerade richtig im Kopf habe, ist das ist 4.05/4.06 bzw in den einzelnen 4.06 Builds unterschiedlich aufgebaut (meine mich so zu erinnern), da werden die Tabs anders aufgebaut. Tendenziell ist das aber natürlich ein richtiger Weg in der entsprechenden tpl einen neuen Tab zu erzeugen und dort die attributes.tpl einzubinden...
 

Enrico_C

Aktives Mitglied
21. September 2020
27
2
Und wie funktioniert das im neuen 5 er Shop?

Also Merkmale als in einem eigenen Tab ausgeben....

Das wäre ja spitzeklasse
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.681
1.609
Berlin
Eigentlich gar nicht so schwer, was ich hier jetzt poste setzt voraus, das es eine Artikelbeschreibung gibt, wenn das wieder erwarten doch vorkommen sollte muss das natürlich anders angepasst werden aber normal sollte es ja einen Beschreibungstext geben.

lege in deinem Child Template die Datei /productdetails/tabs.tpl an und für den Inhalt dort hinein, lege zusätzlich eine Sprachvariable im Bereich custom an und nenne Sie "merkmale", der Sprachvariable gibst du dann den Text, der da im Tab stehen soll.

PHP:
{block name='productdetails-tabs-tab-description-include-attributes'}
{/block}
{block name='productdetails-tabs-include-attributes'}
{/block}


{block name='productdetails-tabs-tab-description' append}
    {$showAttributesTable = ($Einstellungen.artikeldetails.merkmale_anzeigen === 'Y'
    && !empty($Artikel->oMerkmale_arr) || $showProductWeight || $showShippingWeight
    || $Einstellungen.artikeldetails.artikeldetails_abmessungen_anzeigen === 'Y')}

    {if $showAttributesTable}
        {tab title="{lang key="merkmale" section="custom"}" active=false id="merkmale"}
            {include file='productdetails/attributes.tpl' tplscope='details'
            showProductWeight=$showProductWeight showShippingWeight=$showShippingWeight
            dimension=$dimension showAttributesTable=$showAttributesTable}
        {/tab}
    {/if}
{/block}



{block name='productdetails-tabs-description' append}
    {card no-body=true}
    {cardheader id="tab-merkmale-head"
    data=["toggle" => "collapse",
    "target"=>"#tab-merkmale"
    ]
    aria=["expanded" => "false",
    "controls" => "tab-merkmale"
    ]
    }
    {lang key='merkmale' section='custom'}
    {/cardheader}
    {collapse id="tab-merkmale" visible=false
    data=["parent"=>"#tabAccordion"]
    aria=["labelledby"=>"tab-merkmale-head"]
    }
    {cardbody}
    {block name='productdetails-tabs-card-merkmale'}
        {block name='productdetails-tabs-card-merkmale-content'}
            {opcMountPoint id='opc_before_desc'}
            <div class="desc">
                {include file='productdetails/attributes.tpl' tplscope='details'
                showProductWeight=$showProductWeight showShippingWeight=$showShippingWeight
                dimension=$dimension showAttributesTable=$showAttributesTable}
            </div>
        {/block}
    {/block}
    {/cardbody}
    {/collapse}
    {/card}
{/block}
 

werk26

Aktives Mitglied
4. Mai 2017
18
1
Hallo Andreas,

für Merkmale funzt das 1a - hast Du auch ein Codesnippet parat um alle Attribute einer bestimmten Attributgruppe (z.B. Attributgruppe = Technische Daten) auszugeben?

Gruß Andi
 
  • Gefällt mir
Reaktionen: Weedmaster-Flash
Ähnliche Themen

Ähnliche Themen