Storytelling-Plugin-Template mit eigenem Plugin überschreiben

Hallo,

ich möchte das Stortytelling-Template in einem eigenen Plugin überschreiben, das für das Quickview-Overlay im Produktlisting verantwortlich ist.

Nach meiner Recherche ist das die „widgets/swag_emotion_advanced/index.tpl“ im Plugin SwagEmotionAdvanced.

Ich habe also in meinem Plugin die Struktur „Resources/Views/widgets/swag_emotion_advanced/index.tpl“ angelegt und vom ursprünglichen Template extended.

Meine Changes in der Datei zeigen aber keinerlei Wirkung…

Der Pfad „Resources/Views“ ist in meinem Plugin registriert, denn die anderen Templates darin funktionieren auch.

 

wie mach ichs richtig? liegt das Problem darin, dass es 2 „konkurrierende“ Plugins sind?

Der richtige Ort das ganze zu überschreiben wäre eigtl in deinem Theme. Dann kannst du sicher sein, das die Änderungen auch angewendet werden. Anonsten wird es reine Glücksache sein, welches Plugin zu erstgeladen wird. Deins oder das Storytelling Plugin. Beim Registieren deines Template Ordner könntest du dem Handler versuchen eine niedrigere Prio (am besten eine negative) zugeben, sodass es nach dem des Storytelling Plugins geladen wird. Ob das wirklich funktioniert, weis ich allerdings auch nicht.

Dazu ein Auszug aus der Code. Das bezieht sich auf das neue Plugin System. Beim alten ist daa auch möglich. Wird aber etwas anders notiert:

     * Returns an array of event names this subscriber wants to listen to.
     *
     * The array keys are event names and the value can be:
     *
     * * The method name to call (position defaults to 0)
     * * An array composed of the method name to call and the priority
     * * An array of arrays composed of the method names to call and respective
     * priorities, or 0 if unset
     *
     * For instance:
     *
     * 
     * return array(
     * 'eventName0' => 'callback0',
     * 'eventName1' => array('callback1'),
     * 'eventName2' => array('callback2', 10),
     * 'eventName3' => array(
     * array('callback3_0', 5),
     * array('callback3_1'),
     * array('callback3_2')
     * )
     * );
     *
     * 

 

hm… eigentlich hatte ich vor das als Plugin zu entwickeln damit man es schnell und einfach in anderen Shops auch einbinden (und evtl. auch im Store anbieten) kann…

gibts keine Möglichkeit?

kann man steuern, welches Plugin “Recht” haben soll?

Nein, eine direkte Möglichkeit gibt es nicht. Du könntest ein bisschen in den Eingeweiden rumwühlen und es irgendwie hinbasteln.

Hast du es mal mit dem von mir beschriebenen Ansatz versucht?

leider ist das kein Ansatz, den wir verwenden möchten.

es soll ein Plugin sein und kein Theme.

Es gibt immer noch den “versteckten” Position Parameter beim registrieren…

Sagte ich ja auc schon weiter oben :wink: