tpl_artikeldetails JTL Shop 4

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
Funktioniert im Shop das Funktionsattribut tpl_artikeldetails für die eigene Artikeldetailseite nicht mehr???
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
783
45
AW: tpl_artikeldetails JTL Shop 4

Hallo JTL Team gibt es hierzu Infos
 

Mirko.Schmidt User deaktiviert

Guest
AW: tpl_artikeldetails JTL Shop 4

Hallo,
immoment funktioniert es nicht. Ich habe es weitergeleitet an die Entwicklung.
 

dankrue80

Aktives Mitglied
2. Oktober 2015
93
25
Berlin
AW: tpl_artikeldetails JTL Shop 4

Danke Mirko,

wie benötigen es auch dringend für die Entwicklung unseres Webshops wegen unterschiedlicher Artikelseiten für B2C/B2B
Liegt es denn an der aktuellen WAWI Version oder eher an der Shopversion? Wir sind momentan auf dem aktuellsten Stand der Dinge was das angeht.

Gibt es denn schon Feedback aus eurer Entwicklungsabteilung?

Gruß,
Daniel
 

dankrue80

Aktives Mitglied
2. Oktober 2015
93
25
Berlin
AW: tpl_artikeldetails JTL Shop 4

Hallo zusammen,

gibt es den Seitens JTL bereits Info, zu wann dieses Attribut wieder funktionieren wird?

Freu mich über News.

Gruß,
Daniel
 

Mirko.Schmidt User deaktiviert

Guest
AW: tpl_artikeldetails JTL Shop 4

Der Fix ist fertig und ist in der 4.03 eingebaut. Wer diesen Fix schon einbauen möchte muss folgende Änderungen durchführen. In der index.tpl(/root/templates/Evo/productdetails/) die Zeile 11
HTML:
{if isset($Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL])}
durch folgendes ersetzen
HTML:
{if isset($Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]) && $currentTemplateDirFullPath|cat:'tpl_inc/'|cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]|file_exists}
und in der letzterInclude.php(/root/includes/) nach der Zeile 86 eine neue anfügen und dort folgendes einfügen
PHP:
->assign('currentTemplateDirFullPath', PFAD_ROOT . $currentTemplateDir)
Hinzukommt, dass unter /root/templates/Evo/ ein Ordner Namens "tpl_inc" existieren muss und dort müssten die alternativen Artikeldetailsseiten hinein.
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.716
355
AW: tpl_artikeldetails JTL Shop 4

Der Fix ist fertig und ist in der 4.03 eingebaut. Wer diesen Fix schon einbauen möchte muss folgende Änderungen durchführen. In der index.tpl(/root/templates/Evo/productdetails/) die Zeile 11
HTML:
{if isset($Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL])}
durch folgendes ersetzen
HTML:
{if isset($Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]) && $currentTemplateDirFullPath|cat:'tpl_inc/'|cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]|file_exists}
und in der letzterInclude.php(/root/includes/) nach der Zeile 86 eine neue anfügen und dort folgendes einfügen
PHP:
->assign('currentTemplateDirFullPath', PFAD_ROOT . $currentTemplateDir)
Hinzukommt, dass unter /root/templates/Evo/ ein Ordner Namens "tpl_inc" existieren muss und dort müssten die alternativen Artikeldetailsseiten hinein.

Ähm und was genau macht der Fix im Detail? So wie ich das sehe wird die Abfrage im Template lediglich dahingehend erweitert, dass geprüft wird ob die tpl-Datei auch tatsächlich existiert. Die erste Bedingung auf gesetztes FunktionsAttribut ist doch identisch.

Das was eigentlich falsch ist, ist der Pfad zur eingebundenen tpl.

Falsch
Code:
{if isset($Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL])}
    {include file='[COLOR=#ff0000][B]tpl_inc[/B][/COLOR]/'|cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]}
{else}
    {include file='productdetails/details.tpl'}
{/if}

So hingegen funktioniert die Einbindung:

Code:
{if isset($Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL])}
    {include file='[COLOR=#ff0000][B]productdetails[/B][/COLOR]/'|cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]}
{else}
    {include file='productdetails/details.tpl'}
{/if}

Das Verzeichnis tpl_inc/ gibt es seit EVO nicht mehr.
 

Mirko.Schmidt User deaktiviert

Guest
AW: tpl_artikeldetails JTL Shop 4

Ja es wird dadurch überprüft ob die Datei auch existiert. Der Pfad ist jetzt so eine Sache, den Ordner kann man auch anlegen. Gebe es aber gerne nochmal so weiter.
 

dankrue80

Aktives Mitglied
2. Oktober 2015
93
25
Berlin
AW: tpl_artikeldetails JTL Shop 4

Danke für die Lösungsansätze, ich werde mich dann gleich mal in den Code stürzen 😉

Einen separaten tpl_inc Ordner anzulegen scheint mir auch sehr unlogisch, einerseits aus den zuvor von martinwolf genannten Gründen, andererseits daher, dass selbst in der aktuellen Dokumentation zu diesem Thema nur vom productdetails-Ordner die Rede ist.
Tipps und Tricks — JTL-Shop Dokumentation

Ich geb auf jeden Fall nochmal Feedback, sobald ich News hab.

Gruß,
Daniel
 

dankrue80

Aktives Mitglied
2. Oktober 2015
93
25
Berlin
AW: tpl_artikeldetails JTL Shop 4

Hey Leute,

leider kam ich trotz aller Bemühungen nicht zum gewünschten Ergebnis, weder mit der von Mirko.Schmidt beschriebenen Lösung noch mit der von martinwolf.

Das Funktionsattribut hat in der WAWI den Wert details_test.tpl bekommen. Entsprechende tpl ist sicherhaltshalber im Evo sowie im Child productdetails-Ordner hinterlegt worden. Habe es natürlich auch mit dem beschriebenen tpl_inc-Ordner versucht.. auch hier kein Erfolg. Gibt es sonst noch irgend etwas zu beachten?

Freu mich über jeden Ansatz.

Gruß,
Daniel
 

TurboPerformance

Aktives Mitglied
20. Januar 2010
35
8
Haiger
AW: tpl_artikeldetails JTL Shop 4

Bei mir funktionierts auch nicht.
Irgendwas ist mit dem Befehl noch falsch wenn ich {$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]} einfach in die index.tpl reinmache kommt aber auf jeden fall die richtige Seite als Ergebnis.
 

TurboPerformance

Aktives Mitglied
20. Januar 2010
35
8
Haiger
AW: tpl_artikeldetails JTL Shop 4

Vorsicht nur benutzen wenn ihr auch nur EINE custom Datei habt. Prüft nur ob eine Datei vorhanden ist.
Habe jetzt lange rumprobiert irgendwie kann man anscheinend im include file die Variable egal wie man es machts nicht reinmachen.
Code:
<div id="result-wrapper">
{include file="snippets/extension.tpl"}

{assign var="FunktionsAttributeDatei" value="{$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]}"} 

{if $FunktionsAttributeDatei === ""}
    {include file='productdetails/details.tpl'}
{else}
	 {include file="productdetails/EURECUSTOMDATEI.tpl"}
{/if}
</div>
 

Mirko.Schmidt User deaktiviert

Guest
AW: tpl_artikeldetails JTL Shop 4

Vorsicht nur benutzen wenn ihr auch nur EINE custom Datei habt. Prüft nur ob eine Datei vorhanden ist.
Habe jetzt lange rumprobiert irgendwie kann man anscheinend im include file die Variable egal wie man es machts nicht reinmachen.
Code:
<div id="result-wrapper">
{include file="snippets/extension.tpl"}

{assign var="FunktionsAttributeDatei" value="{$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]}"} 

{if $FunktionsAttributeDatei === ""}
    {include file='productdetails/details.tpl'}
{else}
     {include file="productdetails/EURECUSTOMDATEI.tpl"}
{/if}
</div>
Das prüft ob bei dem Artikel ein Funktionsattribut hinterlegt ist und nicht ob die Datei existiert, die über das Funktionsattribut aufgerufen werden soll. Was beim Include file auch wichtig ist das |cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]
Also so
Code:
{include file='tpl_inc/'|cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]}
oder so
Code:
{include file='productdetails/'|cat:$Artikel->FunktionsAttribute[$FKT_ATTRIBUT_ARTIKELDETAILS_TPL]}

@DanKrue80
wurden beide Änderungen von mir durchgeführt, sowohl /root/templates/Evo/productdetails/index.tpl(falls im Child Template diese auch existiert, dann muss dort die Änderung ebenfalls gemacht werden) als auch in der /root/includes/letzterInclude.php? Und danach wie ag-websolutions.de schon schrieb die Caches einmal leeren. Und noch was, sowohl bei der if-Abfrage als auch beim Include muss der gleiche Ordner Name eingetragen sein und in dieser muss die Datei vorhanden sein.
 

dankrue80

Aktives Mitglied
2. Oktober 2015
93
25
Berlin
AW: tpl_artikeldetails JTL Shop 4

Hallo Leute,

ich bekomme bei der Suche nach $Artikel->FunktionsAttribute über die Debug Konsole auf der entsprechenden Artikelseite welche meine details_test.tpl laden sollte folgendes Ergebnis:

FunktionsAttribute: assoc_array (2)
farbe:
größe b x h:


Hier scheint gar kein Funktionsattribut für meine alternative tpl übergeben worden zu sein. Hat irgendwer eine Ahnung woran das liegen könnte?

Zur Info: Habe das ganze auch noch mal in einem frischen JTL Demoshop durchgetestet.. auch hier scheint kein Attribut übergeben worden zu sein! Übrigens habe ich zum Test mal eben einen eigenen Tab über die Funktionsattribute "tab 1 name" sowie "tab 1 inhalt" erstellt. Dies funktionierte wunderbar.

@ag-websolutions.de
Danke für den Hinweis.. habe auch alle Caches vor jedem Test erneut geleert 😉

Gruß,
Daniel
 

dankrue80

Aktives Mitglied
2. Oktober 2015
93
25
Berlin
AW: tpl_artikeldetails JTL Shop 4

Leute, ist mir das peinlich!
Ich hatte vergessen das Attribut für den Webshop zu aktivieren. Häkchen war nicht gesetzt. Nun funzt alles wie gewünscht. Danke für eure Hilfe.

Gruß,
Daniel
 

Ähnliche Themen