.tpl funktioniert nach Update nicht mehr

Hallo,
ich hatte um Unterkategorien farblich abzugrenzen folgenden Code in Verwendung:

{* Maincategories left *}
{function name=categories level=0}
    
    {block name="frontend_index_categories_left_entry"}{/block}
    {foreach from=$categories item=category}

         {if $level > 0}

                {$category.description}
            
          {/if}
            {if $category.subcategories}
                 {call name=categories categories=$category.subcategories level=$level+1}
      {/if}
        
    {/foreach}
{block name="frontend_index_categories_left_after"}{/block}
     
{/function}
{if $sCategories}
    {call name=categories categories=$sCategories}
{elseif $sMainCategories} 
{call name=categories categories=$sMainCategories}{/if}

 

Nach dem Update auf die aktuellste Versien bekomme ich allerdings folgende Fehlermeldung:

 

exception ‚SmartyCompilerException‘ with message ‚Syntax Error in template „/MEINSHOP/httpdocs/themes/Frontend/Marken_tools/frontend/index/sidebar-categories.tpl“  on line 9 „<a href=“{if $category.flag}has–sub-categories{/if}{if $category.external}{$category.external}{else}{$category.link|rewrite:$category.description}{/if}" class=" {if $level == 0}{/if} navigation–link {if $category.flag} is–active{/if}">" unknown modifier „rewrite“‘ in /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php:657 Stack trace:
#0 /engine/Library/Smarty/sysplugins/smarty_internal_compile_private_modifier.php(132): Smarty_Internal_TemplateCompilerBase->trigger_template_error(‚unknown modifie…‘, 9)
#1 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(475): Smarty_Internal_Compile_Private_Modifier->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#2 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler(‚private_modifie…‘, Array, Array)
#3 /engine/Library/Smarty/sysplugins/smarty_internal_compile_private_print_expression.php(65): Smarty_Internal_TemplateCompilerBase->compileTag(‚private_modifie…‘, Array, Array)
#4 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(465): Smarty_Internal_Compile_Private_Print_Expression->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#5 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler(‚private_print_e…‘, Array, Array)
#6 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2358): Smarty_Internal_TemplateCompilerBase->compileTag(‚private_print_e…‘, Array, Array)
#7 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r28()
#8 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(28)
#9 /engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(34, ‚{/‘)
#10 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile(’{* Maincategori…’)
#11 /engine/Library/Smarty/sysplugins/smarty_internal_compile_include.php(146): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#12 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(465): Smarty_Internal_Compile_Include->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#13 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler(‚include‘, Array, Array)
#14 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2388): Smarty_Internal_TemplateCompilerBase->compileTag(‚include‘, Array)
#15 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r36()
#16 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(36)
#17 /engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, ‚\n              …‘)
#18 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile(’{block name="fr…’)
#19 /engine/Library/Smarty/sysplugins/smarty_internal_compile_include.php(146): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#20 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(475): Smarty_Internal_Compile_Include->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#21 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler(‚include‘, Array, Array)
#22 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2388): Smarty_Internal_TemplateCompilerBase->compileTag(‚include‘, Array)
#23 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r36()
#24 /engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(36)
#25 /engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, ‚\n              …‘)
#26 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile(’{block name="fr…’)
#27 /engine/Library/Smarty/sysplugins/smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#28 /engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#29 /engine/Library/Enlight/View/Default.php(276): Smarty_Internal_TemplateBase->fetch()
#30 /engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#31 /engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#32 /engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#33

 

Weis jemand, worann das liegen könnte?

Mit freundlichen Grüßen
Saugertyp

Das liegt an dem “|rewrite” modifier. In Shopware 5.3 wird das nicht mehr verwendet. Statdessen müsste es direkt mit {$category.link} funktionieren.

1 Like

Danke schonmal.

Wie müsste das dann aussehen?

Statt “{$category.link|rewrite:$category.description}” bitte folgendes probieren: {$category.link}

1 Like

Vielen Dank!
So funktioniert es wieder.

Kann man das noch so weit einschränken, dass das nur auf dem Pc greift?
So wie bei .less?

@Saugertyp schrieb:

Kann man das noch so weit einschränken, dass das nur auf dem Pc greift?
So wie bei .less?

Bin mir leider nicht sicher, was Du meinst. Aber dieses “rewrite” funktioniert auf keinem PC, wenn Shopware 5.3 installiert ist. Oder war das anders gemeint? 

Jap, war anders gemeint.
Durch die tpl sind die Kategorien auf dem Handy nicht mehr klickbar, hätte gerne, dass sie nur für Pc greift, nicht für Handy.

*Push*

Immernoch keine Lösung gefunden.

Durch die tpl sind die Kategorien auf dem Handy nicht mehr klickbar, hätte gerne, dass sie nur für Pc greift, nicht für Handy.

Was genau soll nur auf dem PC greifen?

Du kannst den Block doch via LESS am Handy ausblenden und dann am Desktop anzeigen. Wo genau liegt das Problem. Beschreibe es doch bitte etwas ausführlicher.

Viele Grüße