Neu Smarty Template Block erweitern und verschachtelte Blöcke unverändert lassen. (extend smarty block, keep children)

OmKFJ

Aktives Mitglied
2. August 2016
22
0
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

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.
 

Ähnliche Themen