2011-02-08 18 views
6

Impossibile localizzare i blocchi CMS statici nel database. Dove sono loro?Dove sono memorizzati i blocchi CMS statici di Magento?

Il motivo per cui ho bisogno di sapere questo è che quando sposto il database e i miei file tema dalla mia installazione locale alla mia dev-install online, il blocco non si aggiorna, e ho bisogno di ricrearli per ogni installazione .

La domanda di follow-up sarebbe, come posso crearli a livello di codice?

MODIFICA: se qualcuno trova la domanda poco chiara, so come creare un blocco statico nel backend Magento. La domanda è dove sono memorizzati nel file db/filesystem Magento?

+0

prega di fare riferimento questo link http://www.magentocommerce.com/knowledge-base/entry/how-do-i-create-and-edit-static-blocks –

risposta

19

I blocchi sono memorizzati nella tabella del database cms_block. Ma non hai bisogno di sapere che se li creerai programmaticamente.

$newBlock = Mage::getModel('cms/block') 
      ->setTitle('This is the title') 
      ->setContent('This is the content') 
      ->setIdentifier('an-identifier') 
      ->setIsActive(true) 
      ->setStores(array(1)) // see Sergy's comment 
      ->save(); 
+4

non verrà visualizzato nuovo blocco creato se il blocco è non assegnato a nessun negozio. Aggiungi "-> setStores (array (1))" prima di salvare la chiamata dove 1 è default store_id. Quindi il blocco apparirà sul frontend – Sergey

7

Sono nella tabella db cms_block come un orologio disadattato ha detto, ma essere consapevoli che se si aggiunge nel db tramite SQL (utilizzando un modulo di script di installazione, per esempio) è inoltre necessario aggiungere la nuova creazione blocca id e id del negozio per la tabella cms_block_store oppure il blocco non verrà visualizzato.

Problemi correlati