Smarty block erweitern aber nur für DE shop

Also ich habe einen ganz einfaches Plugin:

namespace ArticlePledge;

use Shopware\Components\Plugin;

class ArticlePledge extends Plugin
{
    public static function getSubscribedEvents()
    {
        return ['Enlight_Controller_Action_PostDispatchSecure_Frontend_Detail' => 'onPostDispatchDetail'];
    }


    public function onPostDispatchDetail()
    {
        $this->registerTemplateDir();
    }

    private function registerTemplateDir()
    {
        Shopware()->Container()->get('Template')->addTemplateDir(
            $this->getPath() . '/Views/'
        );
    }
}

und im Folder View/frontend/detail/ ein smarty file data.tpl wo ich dieses block extende:

{extends file="parent:frontend/detail/data.tpl"}

{block name='frontend_detail_data_vat' prepend}
    {if $sArticle.pledge}
        {s name="ArticlePledge"}Pfand:{/s}
    {/if}
{/block}

Ich habe 3 shops DE, AT und CH und möchte diese Änderung nur auf DE shop anwenden.

Zurzeit ist so das es überall sichtbar ist

Ich würde in deinem Plugin einfach einen $status setzen (je nach Shop) und diesen dann im Template abfragen:

{extends file="parent:frontend/detail/data.tpl"}

{block name='frontend_detail_data_vat'}
    {if $sArticle.pledge && $meinPluginStatus == true}
        {s name="ArticlePledge"}Pfand:{/s}
    {/if}

    {$smarty.block.parent}
{/block}

Viele Grüße

Ich würde es wie Aquatuning machen. Quick and Dirty würde es auch so gehen:

{if $Shop->getId() == 1} {* DE-Shop *}

 

1 „Gefällt mir“

My Boss doesn’t like it…He says I need to make Resources/config.xml file and there set a variable ON or OFF so it can be turned on or off for any shop.

Dann geht es hier weiter: https://developers.shopware.com/developers-guide/plugin-system/#plugin-configuration-/-forms

Viele Grüße

1 „Gefällt mir“

Wann und wo setzt man

{if $Shop->getId() == 1} 

oder

{if $shop->getId() == 1} 

ein?

Es scheint ganz auf das Template anzukommen, in dem man grade arbeitet. Manchmal geht von beiden nur eine Schreibweise und manchmal sogar gar keine.