Wie überprüfe ich, ob der CMS-Block aktiv ist?

7

Ich frage mich, wie man überprüft, ob ein bestimmter CMS-Block aktiv ist oder nicht.

Bisher habe ich festgestellt, dass der CMS-Block die Mage_Cms_Block_Block -Klasse ist, die von Mage_Cms_Block_Abstract class

erbt
  

Mage :: log (get_klasse (Mage :: app () - & gt; getLayout () - & gt; createBlock ('cms / block') - & gt; setBlockId ('promo_space')

Keine der beiden Klassen hat Methoden, die prüfen würden, ob der Block aktiv ist oder nicht. Wie mache ich das?

    
latvian 17.02.2010, 16:34
quelle

5 Antworten

5

Habe ich selbst

Ich habe eine Methode isActive (Identifiere, Value) im Helper "Block" im lokalen Mage / Cms Modul erstellt.

So sieht die Methode aus

%Vor%

Parameter $ Attribut ist Tabelle (cms-Block) Feld wie 'Bezeichner' oder 'Titel' und Wert kann der Name des statischen Blocks oder Bezeichners selbst sein. Mit beiden wurde der bestimmte statische Block herausgefiltert, an dem Sie interessiert sind

So nenne ich den Helfer

%Vor%

Ich habe auch die Datei config.xml für den Cms-Block aktualisiert, um meinen neuen Helfer und die Methode zu lesen.

Ich hoffe, es ist nützlich.

    
latvian 17.02.2010, 18:45
quelle
17

Mage::getModel('cms/block')->load('static_block_identifier')->getIsActive()

Ersetzen Sie static_block_identifier durch den Bezeichner , den Sie Ihrem statischen CMS-Block zugewiesen haben.

    
Fiasco Labs 01.05.2012 22:31
quelle
3

Dieser Code funktioniert für mich:

%Vor%     
ahgood 13.05.2014 22:44
quelle
1

Vielleicht ist das alt, aber ich benutze eine andere Methode, die nicht nur für cms-Blöcke funktioniert, sondern für jeden anderen Block, der im Layout geladen wird. Wenn Sie überprüfen müssen, ob ein Block geladen wurde:

%Vor%

Es ist ziemlich einfach!

    
PauGNU 28.11.2011 12:50
quelle
1

Eine bessere Möglichkeit, dies zu tun, besteht darin, einen Beobachter zu diesem Ereignis hinzuzufügen: controller_action_layout_generate_blocks_nach dem passiert, nachdem Magento Block-Objekte initialisiert und generiert hat. Sie haben Zugriff auf die Layout- und Aktionsklassen und auf alle generierten Blöcke, bevor HTML gerendert wird.

%Vor%     
zokibtmkd 04.03.2012 23:45
quelle

Tags und Links