2020 Mai 06

JTL Shop (4): Eigene SMARTY Template Files in CMS Seiten laden

Es gibt bedauerlicherweise kein Plugin um das zu erreichen (vom Alleskönner Dropper mal abgesehen), daher habe ich den Templatefile über das ID Feld der CMS Seite geladen und lasse einen Fehler ausgeben wenn die Datei nicht existiert:

{extends file="../../Evo/layout/index.tpl"}
{block name="content"}   
    {if !empty($Link->cIdentifier) && ($Link->cIdentifier|substr:0:11 eq "custom-tpl-")}
        <!-- load custom tpl: {$Link->cIdentifier}.tpl -->
        {assign var="custom_tpl_file_path" value="__custom-cms-tpl/{$Link->cIdentifier}.tpl"}

        {if file_exists("SERVERPFAD_ZUM_TEMPLATE/{$custom_tpl_file_path}")}
            {include file=$custom_tpl_file_path}
        {else}
            <div class="alert alert-danger">
                Datei: "{$custom_tpl_file_path}" nicht gefunden.
            </div>
        {/if}
    {/if}
    {$smarty.block.parent}
{/block}

Das ganze in der layout/index.tpl im Bereich von H1 + cContent der CMS Seiten einfügen und natürlich den Serverpfad zum template ersetzen.