Neu Child Bootstrap Plugins registrieren

karabey

Sehr aktives Mitglied
28. November 2012
907
74
Hallo,

Im Child Template bootstrap.php ist der Eintrag wie unten. Da es ein gekauftes Template ist, ist der Bootstrap.php von Vater Template verschlüsselt und kann nicht prüfen ob der Plugin "$smarty->registerPlugin(Smarty::pLUGIN_FUNCTION, 'prepare_image_details', [$plugins, 'prepareImageDetails'])" dort aufgerufen wird. Kann ich es auch im Child Template hinzufügen? Der Grund ist das in den Variationen der Aufruf mit "{prepare_image_details item=$Variationswert json=true}" den Ergebnis "null" liefert.

Code:
<?php declare(strict_types=1);
namespace Template\ChildMakerStore;
class Bootstrap extends \Template\MakerStore\Bootstrap
{
    public function boot(): void
    {
        parent::boot();
    }
    protected function registerPlugins(): void
    {
        parent::registerPlugins();
    }
}
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.233
1.965
Berlin
Du kannst da alles machen was du auch in der Parent Bootstrap machst.
aber du kannst eine Funktion jetzt nicht mehrfach registrieren.

wenn das hier {prepare_image_details item=$Variationswert json=true} nicht geht
muss es ja einen Grund dafür geben, eventuell liegt es eher an der Variable
 

karabey

Sehr aktives Mitglied
28. November 2012
907
74
Du kannst da alles machen was du auch in der Parent Bootstrap machst.
aber du kannst eine Funktion jetzt nicht mehrfach registrieren.

wenn das hier {prepare_image_details item=$Variationswert json=true} nicht geht
muss es ja einen Grund dafür geben, eventuell liegt es eher an der Variable
Wenn ich das Nova Template aktiviere ruft es im variation.tpl die Bilder entsprechend auf.
Code:
{if !empty($Variationswert->getImage(\JTL\Media\Image::SIZE_XS))}
data-list='{prepare_image_details item=$Variationswert json=true}'
data-title='{$Variationswert->cName}'
{/if}

Und im bootstrap.php wird der entsprechende Plugin registriert:
Code:
$smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'prepare_image_details', [$plugins, 'prepareImageDetails'])

Bin kein Programmierer aber ich denke das dieser Plugin im JTL Shop im Kern verfügbar ist und man nur aufrufen muss? Damit sollte auch die Variable dann ausgeben..?

Nova Tempalte Ausgabe:
Code:
{"xs":{"src":"https:\/\/domain\/media\/image\/variation\/64\/xs\/BILD1.jpg","size":{"width":100,"height":100},"type":0},"sm":{"src":"https:\/\/domain\/media\/image\/variation\/64\/sm\/BILD1.jpg","size":{"width":300,"height":300},"type":0},"md":{"src":"https:\/\/domain\/media\/image\/variation\/64\/md\/BILD1.jpg","size":{"width":700,"height":700},"type":0},"lg":{"src":"https:\/\/domain\/media\/image\/variation\/64\/lg\/BILD1.jpg","size":{"width":1400,"height":1400},"type":0},"xl":{"src":"https:\/\/domain\/media\/image\/variation\/64\/xl\/BILD1.jpg","size":{"width":1500,"height":1500},"type":0}}

Eigenes Template Ausgabe:
Code:
data-list="{"xs":null,"sm":null,"md":null,"lg":null}"
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.233
1.965
Berlin
Das kommt aber nur zum tragen, wenn das Parent Template das Nova ist.
Du schreibst ja das du ein Template gekauft hast, da muss das nicht bei sein.