*/ class Mage_Cms_Model_Page extends Mage_Core_Model_Abstract { const NOROUTE_PAGE_ID = 'no-route'; /** * Page's Statuses */ const STATUS_ENABLED = 1; const STATUS_DISABLED = 0; const CACHE_TAG = 'cms_page'; protected $_cacheTag = 'cms_page'; /** * Prefix of model events names * * @var string */ protected $_eventPrefix = 'cms_page'; /** * Initialize resource model * */ protected function _construct() { $this->_init('cms/page'); } /** * Load object data * * @param mixed $id * @param string $field * @return Mage_Cms_Model_Page */ public function load($id, $field=null) { if (is_null($id)) { return $this->noRoutePage(); } return parent::load($id, $field); } /** * Load No-Route Page * * @return Mage_Cms_Model_Page */ public function noRoutePage() { return $this->load(self::NOROUTE_PAGE_ID, $this->getIdFieldName()); } /** * Check if page identifier exist for specific store * return page id if page exists * * @param string $identifier * @param int $storeId * @return int */ public function checkIdentifier($identifier, $storeId) { return $this->_getResource()->checkIdentifier($identifier, $storeId); } /** * Prepare page's statuses. * Available event cms_page_get_available_statuses to customize statuses. * * @return array */ public function getAvailableStatuses() { $statuses = new Varien_Object(array( self::STATUS_ENABLED => Mage::helper('cms')->__('Enabled'), self::STATUS_DISABLED => Mage::helper('cms')->__('Disabled'), )); Mage::dispatchEvent('cms_page_get_available_statuses', array('statuses' => $statuses)); return $statuses->getData(); } }