Obtenir les identifiants de magasin associés à une page CMS particulière
-
12-12-2019 - |
Question
Étant donné que j'ai un objet de page (Mage_Cms_Model_Page
), comment puis-je obtenir les identifiants de son magasin associé ?Comme un tableau est préférable.
La solution
Tu peux faire $page->getStoreId()
qui renverra un tableau (il peut renvoyer null
sur les nouvelles instances qui ne sont pas encore enregistrées dans la base de données).
Dans le modèle de ressource de la page Mage_Cms_Model_Resource_Page
il y a un _afterLoad()
méthode qui obtiendra les identifiants de magasin associés à partir du cms_page_store
table et définissez-les sur le modèle comme 'store_id'
que vous pouvez obtenir en appelant getStoreId()
.
Autres conseils
Vous pouvez utiliser le modèle de ressource pour cms/page pour rechercher les storeIds
Mage::getResourceModel('cms/page')->lookupStoreIds($cmsPageObject->getId());
Salut, veuillez essayer avec le modèle de ressource qui donne l'identifiant de base du magasin.
$Store_ids= $page->getResource()->lookupStoreIds($page->getId());
print_r($Store_ids)
Il donne le tableau des identifiants de magasin en utilisant fetchCol().
$select = $adapter->select()
->from($this->getTable('cms/page_store'), 'store_id')
->where('page_id = ?',(int)$pageId);
return $adapter->fetchCol($select);
Ceci est entièrement utilisé chaque fois que vous pouvez obtenir l'identifiant du magasin à partir de la collection de pages cms.