Domanda

Quindi ecco la situazione. Ho bisogno di creare un blocco core/template a livello di programmazione, se c'è CMS Block (Static Block) è presente nella struttura del layout. Userò questo modello per aggiungere alcuni contenuti ad esso dinamicamente.

Se c'è un osservatore per i blocchi statici, posso usarlo. Un'altra opzione sarebbe, posso ottenere lo stesso attraverso i layout, se c'è la maniglia del layout specifico del blocco statico (proprio come la maniglia del layout cms_page).

Ma non ho ancora trovato nessun osservatore per i blocchi statici. Quindi non posso andare con l'osservatore. Cerco anche qualsiasi maniglia di layout specifica del blocco statico. Anche quella ricerca mi ha reso disperato. Non riuscivo a trovarne uno. Quindi anche l'aggiornamento del layout non è possibile.

Quindi sembra essere l'unico modo in cui posso ottenere questo è, per osservare eventi generali (potrebbero essere controller_action_layout_generate_blocks_after). Ma sento che è troppo brutto modo ..

Allora, cosa dovrei fare ora? Quale sarebbe il metodo migliore per farlo? Posso creare un ascoltatore di eventi personalizzato per blocchi statici (non so se è possibile !!)? Condividi i tuoi pensieri.

Nota: Sto creando un'estensione. Lo voglio il più pulito possibile. :)

È stato utile?

Soluzione 2

Sembra che, non c'è altro modo per farlo.Quindi ho ascoltato l'evento generale controller_action_layout_generate_blocks_after.Lì ho creato un nuovo blocco se il blocco CMS presente.

Altri suggerimenti

Forse è possibile utilizzare un aiutante nell'XML e controllare una condizione al suo interno, facendo un condizionale all'interno dell'XML e quindi agire di conseguenza.Potrebbe essere meglio che osservare ogni e ogni carico di blocco con un osservatore.

qui è Una risposta per fare l'approccio 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>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top