gehen wir mal den original unveränderten Tab-Code durch und ich zeige dir Schritt für Schritt das, was du hättest tun sollen.
Das hier ist die original tabs.tpl Datei:
Dort finden wir Code für 4 Tabs:
- Beschreibung - Zeilen 3-25
- Attrbute - Zeilen 27-35
- Preisalarm - Zeilen 37-47
- Media - Zeilen 52-60
In jedem Tab-Code finden wir zwei fast identische HTML Elemente:
<a class="nav-link[{if $blFirstTab}] active[{/if}]" href="#media" data-toggle="tab">...</a>
<div id="media" class="tab-pane[{if $blFirstTab}] active[{/if}]">...</div>
Also müssen diese HTML Tags für die Tabs auf der Seite zuständig sein. Um ganz sicher zu sein, schauen wir in die Bootstrap Dokumentation und tatsächlich, das entspricht in etwa dem Tab-Markup.
Daraus folgt, dass der Code in dem <div id="xxx" class="tab-pane">
Container dem Inhalt des Tabs entspricht und die Überschrift ist im <a class="nav-link" href="#xxx">...</a>
.
Jetzt könnte man den Code eines Tabs kopieren und den ursprünglichen Inhalt anpassen bzw. durch [{oxcontent ident="oxdeliveryinfo"}]
ersetzen. Du hast den Tab mit der Beschreibung kopiert, also arbeiten wir damit weiter.
Ich hatte dir gesagt, du solltest jede einzelne Zeile des Codes verstehen.
Nehmen wir den Code in den Zeilen 3 bis 25:
Infos zum [{block ... }]
Tag hast du in deinem allerersten Topic bekommen, du müsstest also wissen, was das ist.
Für [{oxhasrights}]
hättest du im Forum nach “oxhasrights” suchen und das hier finden können.
Aus dem OXID Video-Kurs, den du ebenfalls im allerersten Topic bekommen hast, müsstest du wissen, dass du die Infos zu den Funktionen in Templates in der Smarty V2 Dokumentation nachschlagen kannst. Dass OXID Smarty nutzt, wurde aber auch in deinem allerersten Topic erwähnt.
Als nächstes kommt [{assign ... }]
, dazu findet man folgendes in der Doku:
https://www.smarty.net/docsv2/es/language.custom.functions.tpl#language.function.assign
Dann weiß man, dass hier “oxlongdescription” aus den Produktdaten geladen und in der Variable “$oLongdesc” hinterlegt wird. Da du den Tab der Beschreibung kopiert hast, muss es sich hierbei also um die Beschreibung des Produktes handeln.
Da du die Beschreibung nicht nochmal brauchst, könnte man jetzt alles, was mit oxlongdesc oder $oLongdesc zu tun hat, aus dem Code des neuen Tabs entfernen. Dann bleibt folgendes übrig:
[{capture append="tabs"}]<a class="nav-link[{if $blFirstTab}] active[{/if}]" href="#description" data-toggle="tab">[{oxmultilang ident="DESCRIPTION"}]</a>[{/capture}]
[{capture append="tabsContent"}]
<div id="description" class="tab-pane[{if $blFirstTab}] active[{/if}]" itemprop="description">
[{if $oDetailsProduct->oxarticles__oxexturl->value}]
<a id="productExturl" class="js-external" href="[{$oDetailsProduct->oxarticles__oxexturl->value}]">
[{if $oDetailsProduct->oxarticles__oxurldesc->value}]
[{$oDetailsProduct->oxarticles__oxurldesc->value}]
[{else}]
[{$oDetailsProduct->oxarticles__oxexturl->value}]
[{/if}]
</a>
[{/if}]
</div>
[{/capture}]
[{assign var="blFirstTab" value=false}]
Was [{capture append...}]
macht, wurde in dem Video-Lurs ebenfalls erklärt, du müsstest es also wissen.
Es bleibt nur noch das hier übrig:
[{if $oDetailsProduct->oxarticles__oxexturl->value}]
<a id="productExturl" class="js-external" href="[{$oDetailsProduct->oxarticles__oxexturl->value}]">
[{if $oDetailsProduct->oxarticles__oxurldesc->value}]
[{$oDetailsProduct->oxarticles__oxurldesc->value}]
[{else}]
[{$oDetailsProduct->oxarticles__oxexturl->value}]
[{/if}]
</a>
[{/if}]
Was [{if ...}]
allgemein macht, wird in der Dokumentation erklärt. In diesem Fall wird “oxexturl” geprüft. Wenn der Name nicht selbsterklärend ist, kann man in der Datenbank den Kommentar nachsehen:
Die Externe URL also.
Wenn die externe URL im Artikel vorhanden ist, wird ein HTML Link mit dieser externen URL im href-Parameter eingefügt.
Der verlinkte Text dabei wird durch den Code zwischen
<a ...>
und
</a>
gesteuert:
[{if $oDetailsProduct->oxarticles__oxurldesc->value}]
[{$oDetailsProduct->oxarticles__oxurldesc->value}]
[{else}]
[{$oDetailsProduct->oxarticles__oxexturl->value}]
[{/if}]
Dieser Teil dürfte nichts neues sein: wenn es oxurldesc
gibt, dann wird oxurldesc als Text für den Link genommen, sonst oxexturl
selbst.
Nach dem wir jetzt wissen, welcher Code was macht, dürfte es kein Problem mehr sein, den ungewollten Code zu entfernen oder durch gewünschte Variablen zu ersetzen.
Da wir den Code nichts jedes mal vorkauen können, musst du selbstständig solchen Code verstehen können.