Guten Morgen liebe Community
Ich habe mir für ein Projekt ein kleines Einkaufswelten-Plugin geschrieben, welches am Ende einen Banner mit verschiedenen Box-Teasern ausgibt.
Das klappt auch alles soweit ganz gut, allerdings wollte ich eben eine neue Einstellungs-Komponente einfügen und bekomme mit, dass er bei einem Update die Felder, wo ich das Einkaufswelten-Element einstellen kann, nicht updatet.
Beim install habe ich folgendes verwendet:
public function install(InstallContext $context)
{
$component = $this->createEmotionComponent($context->getPlugin(), [
'name' => 'Ein Beispiel Plugin',
'xtype' => 'emotion-components-base',
'template' => 'beispiel',
'cls' => 'beispiel',
'description' => 'Ein Beispiel-Plugin zum spielen'
]);
$component->createDisplayField([
'name' => 'info_1',
'fieldLabel' => 'Hinweis',
'defaultValue' => 'Bitte gib mir eine kurze Einleitung zum Plugin',
'supportText' => 'Ja und die ist ein Support-Text',
'allowBlank' => true
]);
$component->createMediaField([
'name' => 'bild_waehlen',
'fieldLabel' => 'Hintergrundbild',
'supportText' => 'Bitte wählen Sie die das Hintergrundbild',
'allowBlank' => true
]);
Jetzt wollte ich im nächsten Update aber gerne zwischen den letzten beiden Komponenten noch ein Text-Feld einfügen.
Beispielhaft so:
public function install(InstallContext $context)
{
$component = $this->createEmotionComponent($context->getPlugin(), [
'name' => 'Ein Beispiel Plugin',
'xtype' => 'emotion-components-base',
'template' => 'beispiel',
'cls' => 'beispiel',
'description' => 'Ein Beispiel-Plugin zum spielen'
]);
$component->createDisplayField([
'name' => 'info_1',
'fieldLabel' => 'Hinweis',
'defaultValue' => 'Bitte gib mir eine kurze Einleitung zum Plugin',
'supportText' => 'Ja und die ist ein Support-Text',
'allowBlank' => true
]);
/** ANFANG DES EINZUFÜGENDEN CODES */
$component->createTextField([
'name' => 'slider_headline',
'fieldLabel' => 'Überschrift',
'defaultValue' => 'Überschrift',
'supportText' => 'Bitte tragen Sie hier die Überschrift ein',
'allowBlank' => true
]);
/** ENDE DES EINZUFÜGENDEN CODES */
$component->createMediaField([
'name' => 'bild_waehlen',
'fieldLabel' => 'Hintergrundbild',
'supportText' => 'Bitte wählen Sie die das Hintergrundbild',
'allowBlank' => true
]);
Bei der Update-Funktion verwende ich folgendes:
public function update(UpdateContext $context)
{
$context->scheduleClearCache(InstallContext::CACHE_LIST_DEFAULT);
}
Ich hoffe sehr, dass ihr mir weiterhelfen könnt
Liebe Grüße
Benjamin