Magento1: Проверка для главной страницы Magento

Бывают задачи в программировании шаблонов Magento, когда надо проверить активна ли первая страница (главная, домашняя страница или home page).

Простая  проверка главной страницы используя PHP:

if ($_SERVER['REQUEST_URI'] == "/" || $_SERVER['REQUEST_URI'] == "/index.php") {
    echo 'Homepage!';
}

Проверка для главной страницы сайта
с помощью функций Magento:

if ($this->getIsHomePage()) {  
    echo 'Homepage!';  
} else {  
    echo 'You are NOT in Homepage!';  
}

Проверка для гавной страницы используя Идентификатор
(url-key) CMS страницы Magento:

$routeName = Mage::app()->getRequest()->getRouteName();
$identifier = Mage::getSingleton('cms/page')->getIdentifier();

if ($routeName == 'cms' && $identifier == 'home') {
    echo 'Homepage!';
} else {
    echo 'You are NOT in Homepage!';
}

также можно использовать для проверки и других CMS страниц Magento

Еще пример проверки главной страницы Magento:

if (Mage::getUrl()('') == Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true))) {
    echo "Homepage";
} else {
    echo "Not in Homepage";
}

И самый интересный способ проверки главной страницы Magento:

Используя xml layout, layout handle.

При создании страницы в Magento обрабатывается много xml файлов, xml layout. Которые в процессе создания страницы можно переписывать, строить, собирать как конструктор.

И для проверки главной страницы можно использовать layout handle – главная страница Magento, описана в cms.xml, как cms_index_index .

$handles = Mage::getSingleton('core/layout')->getUpdate()->getHandles();
var_dump($handles);

вернет массив с layout handle

if($handles = Mage::getSingleton('core/layout')->getUpdate()->getHandles()) {
    if (in_array("cms_index_index", $handles)) {
        echo "Homepage!";
    }
}

собственно сама проверка для главной страницы, этот способ работает 100%