Freitextfelder über CRUD Service anlegen s_emotion_attribute keine Ausgabe im Frontend

Hallo Community, 

ich habe über ein Plugin zwei Freitextfelder erzeugt. Ich kann diese auch im Backend einsehen - sie existieren also. Leider kann ich diese nicht im Frontend finden. 

{$emotion.attribute.testname} gibt es leider nicht.

Freitextfelder, welche ich händisch und ohne Plugin im Backend anlege, bekomme ich hingegen im Frontend ausgegeben.

Was fehlt, Rechtschreibfehler können ausgeschlossen werden?

 

Anbei der Code eingebettet in einem Shopware Demo Plugin.

container->get('shopware_attribute.crud_service');

        $service->update('s_user_attributes', 'swag_shoesize', 'string', [
            'label' => 'Shoesize',
            'displayInBackend' => true
        ]);

		$service->update('s_emotion_attributes', 'testname', 'combobox', [
			'label' => 'Test Label',
			'translatable' => true,
			'displayInBackend' => true,
			'arrayStore' => [
				['key' => '1', 'value' => 'eins'],
				['key' => '2', 'value' => 'zwei'],
				['key' => '3', 'value' => 'drei'],
				['key' => '4', 'value' => 'vier']
			],
			'position' => 104
		]);

        return true;
    }

    /**
     * @return array
     */
    public static function getSubscribedEvents()
    {
        return [
            'Enlight_Controller_Action_PostDispatchSecure_Frontend' => 'onFrontendPostDispatch'
        ];
    }

    /**
     * @param \Enlight_Controller_ActionEventArgs $args
     */
    public function onFrontendPostDispatch(\Enlight_Controller_ActionEventArgs $args)
    {
        $view = $args->getSubject()->View();
        $view->addTemplateDir($this->getPath() . '/Resources/views');
    }
}

Viele Grüße!

Hi,

im backend wird ja nach dem Anlegen der Cache geleert und aufgebaut (AttributeModel Cache).

Generierst du den Cache denn mit dem Plugin auch neu?

Sebastian

1 Like

Meinst du das hier?

/**
	 * @return array
	 */
	public function enable()
	{
		return [
			'success' => true,
			'invalidateCache' => ['backend', 'theme']
		];
	}

Nach der Installation und Aktivierung kommt die Meldung: 

Das Plugin erfordert eine Neu-Initialisierung der folgendes Caches: 

- template
- config
- router
- proxy

Cache jetzt leeren?

 

Bleibt halt die Frage, weshalb über ein Plugin erstellte Freitextfelder nicht im Frontend erscheinen, händisch angelegte Felder hingegen schon. Fehlt an dieser Stelle etwas?!

Hallo Sebastian,

danke für deinen Hinweis, ich habe nun gefunden, was gefehlt hat. Dieser Hinweis steht leider in keiner Dokumentation…