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
champs

. Ces champs sont actuellement vide. Je suis donc loin pas été en mesure de comprendre cette partie dehors.

Merci,

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top