la création d'un CMS Programmatically / Page Magento
-
27-10-2019 - |
Question
J'ai vu la réponse suivante au poste Où sont les blocs CMS Magento stockés ? en ce qui concerne l'utilisation par programmation cms de génération de PHP / blocs dans Magento.
J'ai modifié le code à la suivante
$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();
... et ça marche. Je vois une nouvelle page apparaissent dans la zone Pages CMS dans le back-end.
Ce que je dois ajouter à cela la possibilité de définir le contenu des autres champs de la CMS / Page. A savoir:
- Mise en page (en essayant de mettre à 1 colonne)
- méta mot-clé
- Description meta ??li>
. Ces champs sont actuellement vide. Je suis donc loin pas été en mesure de comprendre cette partie dehors.
Merci,
La solution
ici vous allez:
$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();
Les clés du tableau sont le nom des champs de la table de cms_page
(vérifiez la db). Et pour connaître la valeur, je crée manuellement la CMS la page que je veux et ensuite voir la valeur de cette entrée dans la db.