Hallo,
ich habe nach diesem Artikel versucht eine alternative Detailansicht für einen Artikel einzustellen.
Ich habe wie beschrieben die zweite .tpl Datei im selben Folder wie die entsprechende details.tpl angelegt. Allerdings wird mir nach wie vor nur die details.tpl angezeigt.
Beim debuggen ist mir aufgefallen, dass in der der Datei widget/product/details.tpl im Flow Theme fix die Datei page/details/details.tpl included wird. Wenn ich dies auf mein eigenes Layout ändere wird es auch angezeigt (aber in allen Artikel - nicht nur in denen mit eingetragenem alternativen Layout).
1 [{include file="page/details/details.tpl" blWorkaroundInclude=true}]
Eigentlich sollte aber ja genau das bereits umgesetzt sein, dass unterschieden wird zwischen Artikeln mit alternativem Layout und ohne. Hatte schonmal jemand dasselbe Problem? Ich arbeite mit dem Flow-Layout. Kann es daran liegen? bei Azure funktioniert es so wie es soll.
Vielen Dank schonmal!
Viele Grüße
[QUOTE=grossartig-design;187225]
Beim debuggen ist mir aufgefallen, dass in der der Datei widget/product/details.tpl im Flow Theme fix die Datei page/details/details.tpl included wird. Wenn ich dies auf mein eigenes Layout ändere wird es auch angezeigt (aber in allen Artikel - nicht nur in denen mit eingetragenem alternativen Layout).
[/QUOTE]
Das alternative Template wird über
// assign template name
if ($oProduct->oxarticles__oxtemplate->value) {
$this->_sThisTemplate = $oProduct->oxarticles__oxtemplate->value;
}
eingebunden und prüft weder den Ordner noch die Endung. Bei einer falschen Eingabe sollte ein Fehler in der Darstellung der Details [B]nur für diesen Artikel[/B] sichtbar sein. Die einzigen Ausnahmen, die mir einfallen, wäre dass render() der details.php über ein Modul überschrieben wird und eines fixes Template vorgibt oder es ist ein “custom Template” vorhanden und dieses überschreibt den Eintrag oxarticles__oxtemplate:
if ( ( $sTplName = oxConfig::getParameter( 'tpl' ) ) ) {
$this->_sThisTemplate = 'custom/'.basename ( $sTplName );
}