Hallo,
ich möchte über einen Plugin ein Smarty Template bzw. Block erweitern und dabei alle anderen unterblöcke in diesem Block unverändert lassen bzw. diese sollen vom parent theme weiterhin vererben.
Beispiel:
Template Pfad: plugins/xyz/frontend/template/productdetails/image.tpl
Wenn das das Frontend aufrufe, bekomme ich folgenden Fehler:
Ich habe auch schon versucht das mit capture:
zu wrappen. Leider hat es nichts gebracht.
ich möchte über einen Plugin ein Smarty Template bzw. Block erweitern und dabei alle anderen unterblöcke in diesem Block unverändert lassen bzw. diese sollen vom parent theme weiterhin vererben.
Beispiel:
Template Pfad: plugins/xyz/frontend/template/productdetails/image.tpl
HTML:
{block name='productdetails-image-images-wrapper'}
<div id="gallery_wrapper" class="clearfix">
<div id="gallery"
class="product-images slick-smooth-loading carousel slick-lazy"
data-slick-type="gallery">
{block name='productdetails-image-images'}
{* Hier möchte ich den Block nicht verändern, deshalb: smarty.block.parent *}
{$smarty.block.parent}
{/block}
</div>
{if $Artikel->Bilder|count > 1}
<ul class="slick-dots initial-slick-dots d-lg-none" role="tablist">
{* Meine Änderungen *}
<li>foobar</li>
{foreach $Artikel->Bilder as $image}
<li class="{if $image@first}slick-active{/if}" role="presentation">
{button}{/button}
</li>
{/foreach}
</ul>
{/if}
</div>
{/block}
Wenn das das Frontend aufrufe, bekomme ich folgenden Fehler:
Code:
Fatal error: Uncaught --> Smarty: inheritance: illegal '{$smarty.block.parent}' used in child template '/[mein Projekt Pfad]/plugins/[Mein Plugin]/frontend/template/productdetails/image.tpl' block 'productdetails-image-images' <-- thrown in /[mein Projekt Pfad]/includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php on line 234
Ich habe auch schon versucht das mit capture:
HTML:
{block name='productdetails-image-images'}
{capture productdetails_image_images}
{$smarty.block.parent}
{/capture}
{/block}
zu wrappen. Leider hat es nichts gebracht.