"Back"

Block Source: Mage_Cms_Block_Page

<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    Mage
 * @package     Mage_Cms
 * @copyright  Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */


/**
 * Cms page content block
 *
 * @category   Mage
 * @package    Mage_Cms
 * @author     Magento Core Team <core@magentocommerce.com>
 */
class Mage_Cms_Block_Page extends Mage_Core_Block_Abstract
{
    
/**
     * Retrieve Page instance
     *
     * @return Mage_Cms_Model_Page
     */
    
public function getPage()
    {
        if (!
$this->hasData('page')) {
            if (
$this->getPageId()) {
                
$page Mage::getModel('cms/page')
                    ->
setStoreId(Mage::app()->getStore()->getId())
                    ->
load($this->getPageId(), 'identifier');
            } else {
                
$page Mage::getSingleton('cms/page');
            }
            
$this->addModelTags($page);
            
$this->setData('page'$page);
        }
        return 
$this->getData('page');
    }

    
/**
     * Prepare global layout
     *
     * @return Mage_Cms_Block_Page
     */
    
protected function _prepareLayout()
    {
        
$page $this->getPage();

        
// show breadcrumbs
        
if (Mage::getStoreConfig('web/default/show_cms_breadcrumbs')
            && (
$breadcrumbs $this->getLayout()->getBlock('breadcrumbs'))
            && (
$page->getIdentifier()!==Mage::getStoreConfig('web/default/cms_home_page'))
            && (
$page->getIdentifier()!==Mage::getStoreConfig('web/default/cms_no_route'))) {
                
$breadcrumbs->addCrumb('home', array('label'=>Mage::helper('cms')->__('Home'), 'title'=>Mage::helper('cms')->__('Go to Home Page'), 'link'=>Mage::getBaseUrl()));
                
$breadcrumbs->addCrumb('cms_page', array('label'=>$page->getTitle(), 'title'=>$page->getTitle()));
        }

        
$root $this->getLayout()->getBlock('root');
        if (
$root) {
            
$root->addBodyClass('cms-'.$page->getIdentifier());
        }

        
$head $this->getLayout()->getBlock('head');
        if (
$head) {
            
$head->setTitle($page->getTitle());
            
$head->setKeywords($page->getMetaKeywords());
            
$head->setDescription($page->getMetaDescription());
        }

        return 
parent::_prepareLayout();
    }

    
/**
     * Prepare HTML content
     *
     * @return string
     */
    
protected function _toHtml()
    {
        
/* @var $helper Mage_Cms_Helper_Data */
        
$helper Mage::helper('cms');
        
$processor $helper->getPageTemplateProcessor();
        
$html $processor->filter($this->getPage()->getContent());
        
$html $this->getMessagesBlock()->toHtml() . $html;
        return 
$html;
    }
}