TopSellerTopSeller MitgliedKommentare: 15 Danke erhalten: 0 Mitglied seit: 22. Februar bearbeitet 29. März

Hi,

ich habe in der Datei  index.tpl vom Bare Theme (/themes/Frontend/Bare/frontend/index)
den code:

<body class="{block name="frontend_index_body_classes"}{strip}
    is--ctl-{controllerName|lower} is--act-{controllerAction|lower}
    {if $sUserLoggedIn} is--user{/if}
    {if $sOneTimeAccount} is--one-time-account{/if}
    {if $sTarget} is--target-{$sTarget|escapeHtml}{/if}
    {if $theme.checkoutHeader && (({controllerName|lower} == "checkout" && {controllerAction|lower} != "cart") || ({controllerName|lower} == "register" && ($sTarget != "account" && $sTarget != "address")))} is--minimal-header{/if}
    {if !$theme.displaySidebar} is--no-sidebar{/if}
    {/strip}{/block}" {block name="frontend_index_body_attributes"}{/block}>

gegen folgenden Code getauscht:

 



{* Kategorie-ID im Body-Class ausgeben *}
	{block name="frontend_index_body_classes" append}{strip} 
		{if $sCategoryContent.id} cat-{$sCategoryContent.id}{/if}
		{/strip}
	{/block}

 

Dann haben alle Kategorien eine eigene ID. Allerdings ist diese Methode ja dann nicht updatesicher.  Ich habe dann unter: /themes/Frontend/MEINTHEME/frontend/index eine Datei: index.tpl mit folgendem Inhalt angelegt:

 

{extends file='parent:frontend/index/index.tpl'}

{* Kategorie-ID im Body-Class ausgeben *}
	{block name="frontend_index_body_classes" append}{strip} 
		{if $sCategoryContent.id} cat-{$sCategoryContent.id}{/if}
		{/strip}
	{/block}

 

Funktioniert so allerdings nicht. Was mache ich falsch?

Antworten

  • ShopwareianerShopwareianer MitgliedKommentare: 3186 Danke erhalten: 570 Mitglied seit: November 2013

    Zunächst einmal sollte man append vermeiden und mit smarty.block.parent arbeiten, aufgrund von Konflikten mit Plugins.

    Der Block sieht dann wie folgt aus:

    {* Kategorie-ID im Body-Class ausgeben *}
    {block name="frontend_index_body_classes"}
        {$smarty.block.parent}
        {if $sCategoryContent.id} cat-{$sCategoryContent.id}{/if}
    {/block}

    Dieser funktioniert auch. Hast du dein eigenes Theme aktiviert? Shopware Cache geleert? Browser Cache geleert? In der DevConsol überprüft, ob die class ausgeeben wird?

  • TopSellerTopSeller MitgliedKommentare: 15 Danke erhalten: 0 Mitglied seit: 22. Februar

    @ Shopwareianer

    Ja, ich habe ein eigenes Theme aktiviert und mein Theme noch mal neu kompiliert und den Cache geleert. Funktioniert nun auch mit dem neuen Code.

    Vielen Dank!

     

     

Anmelden oder Registrieren, um zu kommentieren.