2011-02-08 16 views
6

No puedo ubicar bloques de CMS estáticos en la base de datos. ¿Dónde están?¿Dónde se almacenan los bloques CMS estáticos de Magento?

La razón por la que necesito saber esto es que cuando muevo la base de datos y mis archivos de tema desde mi instalación local a mi instalación en línea de desarrollo, el bloque no se actualiza, y necesito volver a crearlos para cada instalación .

La pregunta de seguimiento sería, ¿cómo puedo crearlos programáticamente?

EDITAR: Si alguien encuentra la pregunta poco clara, sé cómo hacer un bloque estático en el backend de Magento. La pregunta es dónde están almacenados en el sistema de archivos db/Magento?

+0

Consulte este enlace http://www.magentocommerce.com/knowledge-base/entry/how-do-i-create-and-edit-static-blocks –

Respuesta

19

Los bloques se almacenan en la tabla de la base de datos cms_block. Pero no necesita saber eso si va a crearlos programáticamente.

$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

nuevo bloque creado no se mostrará si el bloque es no asignado a ninguna tienda. Agregue "-> setStores (array (1))" antes de guardar llamada donde 1 es store_id predeterminado. Así que el bloque aparecerá en la interfaz – Sergey

7

Están en la tabla db cms_block como friki de relojería ha dicho, pero tenga en cuenta que si se agregan en el PP a través de SQL (usando el módulo script de instalación, por ejemplo) también hay que añadir el recién creado ID de bloques y la id. de tienda en la tabla cms_block_store o el bloque no aparecerá.

Cuestiones relacionadas