Domanda

ho visto la seguente risposta al post Dove Magento statico blocchi CMS memorizzati ? quanto riguarda programatically utilizzando cms generatrici di PHP / blocchi in Magento.

ho cambiato il codice per il seguente

$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();

... e funziona. Vedo una nuova pagina compare nella zona pagine CMS nel backend.

Quello che ho bisogno di aggiungere a questo è la possibilità di impostare il contenuto degli altri campi del CMS / Pagina. Vale a dire:

  • Layout (cercando di impostare a 1 colonna)
  • meta parola chiave
  • meta description

campi. Questi campi sono vuoti al momento. Io finora non sono stato in grado di capire questa parte fuori.

Grazie,

È stato utile?

Soluzione

qui si va:

$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();

Le chiavi dell'array sono il nome dei campi della tabella cms_page (controllare il db). E per conoscere il valore, creo manualmente la pagina CMS che voglio e poi vedere il valore di questa voce nel db.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top