2012-02-17 9 views
17

Vi la siguiente respuesta a la publicación Where are Magento static CMS blocks stored? con respecto al uso programático de PHP generando cms/bloques en Magento.Programando la creación de un CMS/Página en Magento

he cambiado el código para la siguiente

$newBlock = Mage::getModel('cms/page') 
     ->setTitle('Test CMS Page Title') 
     ->setContent('Hello I\'m a new cms page.') 
     ->setIdentifier('this-is-the-page-url') 
     ->setIsActive(true) 
     ->save(); 

... y funciona. Veo aparecer una nueva página en el área Páginas de CMS en el back-end.

Lo que necesito agregar a esto es la capacidad de establecer el contenido de los otros campos en el CMS/Página. A saber:

  • Layout (tratando de establecer a 1 columna)
  • meta de palabras clave
  • meta descripción

campos. Estos campos están en blanco actualmente. Hasta ahora no he podido descifrar esta parte.

Gracias,

+0

su pregunta es bastante interesante. . . aunque quería saber para qué requisito concluyó con esta pregunta. . . esperando 4 una respuesta –

Respuesta

37

Aquí van:

$cmsPageData = array(
    'title' => 'Test CMS Page Title', 
    'root_template' => 'one_column', 
    'meta_keywords' => 'meta,keywords', 
    'meta_description' => 'meta description', 
    'identifier' => 'this-is-the-page-url', 
    'content_heading' => 'content heading', 
    'stores' => array(0),//available for all store views 
    'content' => "Hello I'm a new cms page." 
); 

Mage::getModel('cms/page')->setData($cmsPageData)->save(); 

Las claves de la matriz son los nombres de los campos de la tabla cms_page (marque la db). Y para conocer el valor, creo manualmente la página cms que quiero y luego veo el valor para esta entrada en el db.

+0

¡Impresionante! Funcionó perfectamente, sin embargo tuve que cambiar 'one_columns' por 'one_column'. Solo un error tipográfico Así que lo entiendo -> crear una matriz con pares de valores clave y luego asignar eso como datos de la página CMS. Tiene sentido. ¿Cómo sabes cuáles son las claves y los valores de esas claves? – KyleDugger

+0

@ user1215510 He corregido el error tipográfico, thx para señalarlo. También amplié la respuesta explicando cómo obtengo los datos. – OSdave

Cuestiones relacionadas