Livello di programmazione la creazione di un CMS / Pagina in Magento
-
27-10-2019 - |
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,
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.