Plugin Variable

@brettvormkopp schrieb:

Am besten postest du mal dein komplettes Plugin hier, damit man ggf was helfen kann. Es wäre ja auch möglich, dass dein Problem an einer ganz anderen Stelle liegt, z.b. Subscriber, routes, services oder dem Themepfad.

 

Dann wollen wir mal. Ich habe mal den Ableger mit den wesentlichen Funktionen programmiert, damit der Code nicht zu lang und unübersichtlich wird. Das Problem besteht auch in diesem.

 

basic/src/basic.php

/src/Controller/Controller.php

/src/Resources/config/config.xml

    Basic Configuration
    Grundeinstellungen

    
    
      disabled
      enable Plugin
      Plugin aktivieren
      true
      
      
    
    
    
    
      showText
      show Text
      Text anzeigen
      true
      
      
    
    
    
    
      text
      Texteingabe
      Texteingabe
      fill text
      Text eingeben

/src/Resources/service/service.xml

/src/Resources/views/storefront/page/product-detail/index.html.twig

{# empty Twig template #}
{% sw_extends '@Storefront/storefront/page/product-detail/index.html.twig' %}
{% block page_product_detail_headline %}
  {% if shopware.config.basic.config.showText == true and active == true %}
    {{ shopware.config.basic.config.text }}
  {% endif %}
  {{ parent() }}
{% endblock %}

/src/Service/Service.php

/src/Subscriber/Subscriber.php

config = $config;
  }
  
  /**
   * 
   * @return array
   */
  public static function getSubscribedEvents(): array {
    return[
      StorefrontRenderEvent::class => 'onStorefrontRender'
    ];
  }
  
  function getPluginConfig($key) {
    return $this->config->get(self::gwen_CONFIG_DOMAIN . $key); 
  }
  
  /**
   * 
   * @param StorefrontRenderEvent $event
   * @return void
   */
  public function onStorefrontRender(StorefrontRenderEvent $event): void {
    $pluginConfiguration = $this->config->getDomain('basic.config', $event->getSalesChannelContext()->getSalesChannel()->getId(), true);
    if ($pluginConfiguration["basic.config.disabled"] == false) {
      return;  
    }
    $event->setParameter('active', true );
  }
}

 

Gruß