# Plugin Variable

**URL:** https://forum.shopware.com/t/plugin-variable/62245
**Category:** Programmierung
**Created:** [9. Oktober 2019 um 12:37 UTC](https://forum.shopware.com/t/plugin-variable/62245 "2019-10-09T12:37:34Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [9. Oktober 2019 um 12:37 UTC](https://forum.shopware.com/t/plugin-variable/62245/1 "2019-10-09T12:37:34Z")

</div>

Hallo, ich habe ein Frontend-Plugin gebaut und im Backend kann man das Plugin mit 2 Boolean-Felder und 1 Textfeld konfigurieren. Leider stimmt die Logik im Frontend gar nicht mit dem des Backend überein.

**config.xml**

```
        Configuration
        Konfiguration
        
            active
            Plugin active in this channel
            Plugin in diesem Salechannel aktivieren
        
        
            doremove
            Complete remove
            komplett entfernen
        
        
            alttext
            Alternative text
            Alternativer Text
            lorem ipsum

```

**twig:**

```
{% sw_extends '@Storefront/layout/footer/footer.html.twig' %}

{% block layout_footer_copyright %}

    {% if shopware.config.MeinPlugin.config.active == true and shopware.config.MeinPlugin.config.doremove == false %}
        
            {{ shopware.config.MeinPlugin.config.alttext }}
        
    {% elseif shopware.config.MeinPlugin.config.active == true and shopware.config.MeinPlugin.config.doremove == true %}
        {# nichts ausgeben #}
    {% elseif shopware.config.MeinPlugin.config.active == false %}
        {{ parent() }}
    {% endif %}

{% endblock %}

```

Mach ich irgendetwas falsch? Danke und Gruss

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [9. Oktober 2019 um 12:45 UTC](https://forum.shopware.com/t/plugin-variable/62245/2 "2019-10-09T12:45:31Z")

</div>

- true false&nbsp;= div block //korrekt
- true true = div block //hier sollte {#nichts#}
- false true = {#nichts#} //hier sollte parent&nbsp;
- false false = parent //korrekt

EDIT: In der Datenbank werden die Werte auch korrekt hinterlegt&nbsp;

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [10. Oktober 2019 um 18:13 UTC](https://forum.shopware.com/t/plugin-variable/62245/3 "2019-10-10T18:13:12Z")

</div>

Komischerweise funktioniert heute die Logik. Gibt es irgendwo einen Cache extra für Plugins?

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [8. November 2019 um 13:14 UTC](https://forum.shopware.com/t/plugin-variable/62245/4 "2019-11-08T13:14:06Z")

</div>

Mitlerweile ist der Fehler gefunden. Es wurden in der Datenbanktabelle s **ystem\_config** die alten Plugindaten nicht gelöscht. Ob das nur eine Ausnahme war oder Regel kann ich gerade nicht sagen.

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [11. Februar 2020 um 13:49 UTC](https://forum.shopware.com/t/plugin-variable/62245/5 "2020-02-11T13:49:36Z")

</div>

Hi

&nbsp;

wie schaffts du es, dass&nbsp;

```
{% if shopware.config.MeinPlugin.config.active == true and shopware.config.MeinPlugin.config.doremove == false %}

```

bei dir in Echtzeit funktioniert? Also wenn du in deinem&nbsp; plugin die Einstellung änderst, dass es im Twig auch geändert wird?  
Bei mir funktioniert keine&nbsp;der Varianten.

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [11. Februar 2020 um 14:01 UTC](https://forum.shopware.com/t/plugin-variable/62245/6 "2020-02-11T14:01:57Z")

</div>

Hi, ich hatte das “Problem” gehabt, dass ich zu Testzwecken mehrmals das Plugin installiert und deinstalliert hatte. Bei der deinstallation wurden aber die Einträge aus der Datenbank nicht gelöscht/deinstalliert. Und so wurde bei jeder installation ein neues Feld -Eintrag hinzugefügt aber im Frontend wurde sozusagen immer nur der Ur-Feld-Eintrag genommen. Am besten Plugin deinstallieren und alle Einträge in der DB löschen.

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [13. Februar 2020 um 16:50 UTC](https://forum.shopware.com/t/plugin-variable/62245/7 "2020-02-13T16:50:42Z")

</div>

Hallo&nbsp;@brettvormkopp‍

```
{%if shopware.config.MeinPlugin.config.doremove == false %}

```

wird bei dir also aktualisiert, wenn du es in den Einstellungen auf true oder false setzt?  
Bei mir funktioniert das nicht. Steuerst du da noch irgendwas extra an?

Gruß

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [13. Februar 2020 um 17:47 UTC](https://forum.shopware.com/t/plugin-variable/62245/8 "2020-02-13T17:47:51Z")

</div>

Ja, nachdem ich in der Datenbank alle alten Einträge gelöscht habe.

Doppelte Statements habe ich&nbsp;mit einer Klammer umrahmt:&nbsp;

```
{% if ( shopware.config.MeinPlugin.config.active == true ) and ( shopware.config.MeinPlugin.config.doremove == false ) %}

```

Einfache Statements ohne Klammer:

```
 {% if shopware.config.MeinPlugin.config.active == false %}

```

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.

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [14. Februar 2020 um 16:46 UTC](https://forum.shopware.com/t/plugin-variable/62245/9 "2020-02-14T16:46:11Z")

</div>

Ja, das mache ich. Aber erstmal ist mir noch was anderes aufgefallen.

hier wird nur sporadisch gesagt, dass man den Cache über die CLI Befehle ausühren kann. Wie genau, nicht.  
Mit bin/console cache:clear kommt&nbsp;console: command not found

Ich bin im Verzeichnis /bin drin. Mit lisa (ls) bekomme ich aber auch kein clear oder so angezeit und auch keine Help page.  
(Welcher nicht computer affine Shopbetreiber mehrt bitte auf der Konsole rum,um den Cache zu leeren?)

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

### Author: ![Murmeltier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/murmeltier/32/16126_2.png) [@Murmeltier](https://forum.shopware.com/u/Murmeltier)
#### Post date: [14. Februar 2020 um 17:12 UTC](https://forum.shopware.com/t/plugin-variable/62245/10 "2020-02-14T17:12:10Z")

</div>

Geh doch mal in den Ordner \_ **bin** \_ rein und mach dann:

```
./console

```

&nbsp;

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [14. Februar 2020 um 17:53 UTC](https://forum.shopware.com/t/plugin-variable/62245/11 "2020-02-14T17:53:39Z")

</div>

Hallo Murmeltier,

jetzt bin ich zuhause.&nbsp;(Ich hab die Nase voll) Daheim habe ich blöderweise keine SSH Daten.  
Ich mache das Montag früh gleich. Ich glaube den bash Operator habe ich auch schon davor gesetzt und es kam&nbsp;command not found.  
Ich werde das Montag sofort nochmal testen. Ich kenne diese php CLI Befehle von früher (2010). Aber da musste man vorher immer irgendwas noch installieren, damit es in /etc/bin oder so global registriert wird.&nbsp;Kann man den Cache nicht auch irgendwie frontendseitig leeren über ein Menü wie in SW5?&nbsp;Wie machen das Otto Normalo&nbsp;Shopbetreiber? Die Kurven doch nicht ernsthaft im Terminal&nbsp;über /root /www/…/bin und ./console rum?

Gruß

---

<div class="post-metadata">

### Author: ![Murmeltier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/murmeltier/32/16126_2.png) [@Murmeltier](https://forum.shopware.com/u/Murmeltier)
#### Post date: [14. Februar 2020 um 17:56 UTC](https://forum.shopware.com/t/plugin-variable/62245/12 "2020-02-14T17:56:59Z")

</div>

Kann sein, das Du evtl. mal Deinen Provider labern musst. Bei Hetzner z.B. war das auch alles ein bisschen anders. Da muss ich immer folgendes eingeben:

```
php70 ./console

```

&nbsp;

---

<div class="post-metadata">

### Author: ![Murmeltier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/murmeltier/32/16126_2.png) [@Murmeltier](https://forum.shopware.com/u/Murmeltier)
#### Post date: [14. Februar 2020 um 18:01 UTC](https://forum.shopware.com/t/plugin-variable/62245/13 "2020-02-14T18:01:49Z")

</div>

> [@gwen schrieb:](https://forum.shopware.com/profile/29918/gwen "gwen")
> 
> […] Daheim habe ich blöderweise keine SSH Daten…

Leg Dir einfach mal die freie und [portable MobaXterm Version](https://download.mobatek.net/1242019111120613/MobaXterm_Portable_v12.4.zip) zu. Die packst Du auf einen Stick und gut ist. Somit hast Du Dein SSH Client - mit allen Zugängen - immer am Start, wenn Du mal unterwegs bist…

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [17. Februar 2020 um 13:08 UTC](https://forum.shopware.com/t/plugin-variable/62245/14 "2020-02-17T13:08:48Z")

</div>

siehe&nbsp;[https://forum.shopware.com/discussion/comment/264423/#Comment\_264423](https://forum.shopware.com/discussion/comment/264423/#Comment_264423)

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [17. Februar 2020 um 19:06 UTC](https://forum.shopware.com/t/plugin-variable/62245/15 "2020-02-17T19:06:59Z")

</div>

> [@brettvormkopp schrieb:](https://forum.shopware.com/profile/6611/brettvormkopp "brettvormkopp")
> 
> 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.

&nbsp;

Dann wollen wir&nbsp;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.

&nbsp;

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 );
  }
}

```

&nbsp;

Gruß

---

<div class="post-metadata">

### Author: ![gwen](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gwen](https://forum.shopware.com/u/gwen)
#### Post date: [2. März 2020 um 15:17 UTC](https://forum.shopware.com/t/plugin-variable/62245/16 "2020-03-02T15:17:14Z")

</div>

Zur Info: Der Code ist in Ordnung. Es handelt sich vermutlich um einen Bug in SW (im&nbsp;Verkaufskanal), wie Shopware mir mittlerweile&nbsp;einräumte.&nbsp;

Gruß
