Question

Alors voilà la situation.Je dois créer un core/template bloquer par programme, s'il y a CMS Block(Static Block) est présent dans la structure de mise en page.J'utiliserai ce modèle pour y ajouter du contenu de manière dynamique.

S'il existe un observateur de blocs statiques, je peux l'utiliser.Une autre option serait, je peux obtenir la même chose via les mises en page, s'il existe une poignée de mise en page spécifique au bloc statique (tout comme cms_page poignée de mise en page).

Mais je n'ai pas encore trouvé d'observateur pour les blocs statiques.Je ne peux donc pas y aller avec un observateur.Je recherche également toute poignée de mise en page spécifique à un bloc statique.Cette recherche m'a également rendu désespéré.Je n'en ai pas trouvé.La mise à jour de la mise en page n'est donc pas non plus possible.

Il semble donc que la seule façon d'y parvenir soit d'observer les événements généraux (peut-être controller_action_layout_generate_blocks_after).Mais je pense que c'est trop mauvais.

Alors que dois-je faire maintenant ?Quelle serait la meilleure méthode pour y parvenir ?Puis-je avoir besoin de créer un écouteur d'événements personnalisé pour les blocs statiques (je ne sais pas si c'est possible !!) ?Partage tes pensées.

Note : Je crée une extension.Je veux que ce soit aussi propre que possible.:)

Était-ce utile?

La solution 2

Il semble qu’il n’y ait pas d’autre moyen de procéder.Alors j'ai écouté l'événement général controller_action_layout_generate_blocks_after .Là, j'ai créé un nouveau bloc si le bloc cms est présent.

Autres conseils

Vous pouvez peut-être utiliser un assistant dans le XML et vérifier une condition à l'intérieur, en effectuant une condition dans le XML, puis agir en conséquence.Cela pourrait être mieux que d'observer chaque charge de bloc avec un observateur.

Voici une réponse pour faire l'approche XML.

<action method="addLink" translate="label title" module="catalog" ifconfig="catalog/seo/site_map">
    <label>Site Map</label>
    <url helper="catalog/map/getCategoryUrl" />
    <title>Site Map</title>
</action>
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top