Eigene Einkaufswelten Plugins update Methode

Halllo Community,

ich wollte zu meinem bestehendem Einkaufswelten Plugin lediglich ein weiteresTextAreaField hinzufügen

$textIconElement->createTextAreaField([
            'name' => 'element_link',
            'fieldLabel' => 'Link',
            'supportText' => 'Link des Elements',
            'allowBlank' => true
        ]);

Wie ich gelesen habe muss man (um das Plugin Update-fähig zu machen), die version erhöhen und, damit das feld im backend erscheint, in der update() Methode die Datenbank updaten um ein weiteres Feld.

   public function update(UpdateContext $updateContext)
   {
  //welche datenbank tabelle? wie komme ich an die plugin "id"?
      $updateContext->scheduleClearCache(UpdateContext::CACHE_LIST_ALL);
   }

Wie verbinde ich mich hier genau zur Datenbank welcher Query und ich habe etwas von doctrine query builder gelese (wie benutze ich diesen korrekt)? Wie spreche ich die id an (die mag man ja nicht hardcoden)?

Hierzu habe ich sowohl in der offiziellen Dokumentation, als auch im Forum nicht die gewünschte Antwort gefunden.

 

Vielen Dank im voraus

Hallo Zeitgeist,

habe das selbe Problem. Wir müssen ein eigenes Einkaufswelten Plugin updaten und wollen ein neues Feld hinzufügen ohne das bereits eingepflegter Content verloren geht.

Hoffe jemand kann helfen. In der Doku ist das ja leider nicht sehr ausführlich beschrieben… :-/

1 „Gefällt mir“

Eigentlich ist es im Grunde das selbe wie in der Install, bloß dass ihr in der Update nur die neuen Felder erstellt.

Also soweit ich das aus der Doku nachvollziehen konnte benötigt es in der install lediglich

$updateContext->scheduleClearCache(UpdateContext::CACHE_LIST_ALL);

der rest funktioniert ja von alleine.

bloß dass ihr in der Update nur die neuen Felder erstellt.

Gibt es hierzu irgendwo einen Beispielcode an dem man sich orientieren kann? Das wäre sehr hilfreich