DenKon26DenKon26 MemberComments: 74 Received thanks: 6 Member since: August 2015

Hallo,

 

Ich wollte gerade Template-Anpassungen an der Intelligenten Suche vornehmen.
Dafür habe ich ein weiteres Plugin. Beide überschreiben in frontend/search/ajax.tpl den Block search_ajax_inner

Allerdings wird weiterhin das Template der Intelligenten Suche geladen.

Die Anpassungen des anderen Plugins werden nicht berücksichtigt.

Wie kann ich diese Reihenfolge ändern? Bzw. gibt es eine Reihenfolge?

Warum kann ich das durch die Intelligente Suche angepasste Theme nicht wieder erneut durch das andere Plugin anpassen?

1 Answer

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 7565 Received thanks: 2230 edited February 13 Member since: September 2013

    In der Datenbank kannst du das nicht finden.

    Du musst dir die beiden Plugins anschauen und prüfen, wo die Ihr Template registrieren. Dann kannst du schauen, ob du dich vorher einhängst oder per Parameter die Priorität mit übergibst. 

    Wenn sich also ein Plugin auf dieses Event registriert:

    'Enlight_Controller_Action_PostDispatch_Frontend_Detail' => 'onPostDispatchFrontendDetail'

    Dann kannst du entweder das nächst "größere" Event nehmen:

    'Enlight_Controller_Action_PostDispatch_Frontend' => 'onPostDispatchFrontend'

    Oder die Priorität so setzen, dass du das Theme überschreiben kannst:

    'Enlight_Controller_Action_PreDispatch_Frontend_Detail' => ['onPostDispatchFrontendDetail',-100],

    In der Datenbank s_core_subscribes findest du nur das alte Plugin System. Das bringt dir also nichts.

    Quote
    Accepted Answer
  • Accepted Answer

Answers

  • DenKon26DenKon26 MemberComments: 74 Received thanks: 6 Member since: August 2015

    *Push*

  • BestShopPossibleBestShopPossible MemberComments: 708 Received thanks: 118 Member since: November 2017
  • DenKon26DenKon26 MemberComments: 74 Received thanks: 6 Member since: August 2015

    Ok das injectbeforeplugins steuert aber nur die Reihenfolge von Template und Plugins.

    Wie wird die Reihenfolge festgelegt, wenn ein Block gleichzeitig von mehreren Plugins überschrieben wird?

     

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 7565 Received thanks: 2230 Member since: September 2013

    Das wird anhand der Reihenfolge der Subscribes gemacht. Also Plugins registrieren sich ja im Stack und so wird die Reihenfolge festgelegt.

  • DenKon26DenKon26 MemberComments: 74 Received thanks: 6 Member since: August 2015

    Das wird anhand der Reihenfolge der Subscribes gemacht. Also Plugins registrieren sich ja im Stack und so wird die Reihenfolge festgelegt.

    Wo genau finde ich das in der Datenbank? 

    Ist das die Spalte position in s_core_subscribes?

    Und falls ja: Was bedeuten dort die Werte? Heißt ein höherer Wert bei der position, dass dieses Plugin Subscribe zuerst ausgeführt wird oder muss man dafür dann eine niedrigere Zahl wählen?

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 7565 Received thanks: 2230 edited February 13 Member since: September 2013

    In der Datenbank kannst du das nicht finden.

    Du musst dir die beiden Plugins anschauen und prüfen, wo die Ihr Template registrieren. Dann kannst du schauen, ob du dich vorher einhängst oder per Parameter die Priorität mit übergibst. 

    Wenn sich also ein Plugin auf dieses Event registriert:

    'Enlight_Controller_Action_PostDispatch_Frontend_Detail' => 'onPostDispatchFrontendDetail'

    Dann kannst du entweder das nächst "größere" Event nehmen:

    'Enlight_Controller_Action_PostDispatch_Frontend' => 'onPostDispatchFrontend'

    Oder die Priorität so setzen, dass du das Theme überschreiben kannst:

    'Enlight_Controller_Action_PreDispatch_Frontend_Detail' => ['onPostDispatchFrontendDetail',-100],

    In der Datenbank s_core_subscribes findest du nur das alte Plugin System. Das bringt dir also nichts.

    Quote
    Accepted Answer
Sign In or Register to comment.