I was trying to filter CMS pages for my multi-language website.
I was filtering CMS pages, because some of them are only for one store.
So i was trying to filter like this:
$name_page = Mage::app()->getFrontController()->getRequest()->getRouteName();
if ($name_page == 'cms') {
$cms_page = Mage::getSingleton('cms/page')->getIdentifier();
$active = Mage::getModel('cms/block')->load($cms_page)->getIsActive();
if($active != 1){
return null;
}
}
As far as i know, $active returns 1 or 0 for positive or negative. Instead of these, my examples continue going to the stores with the cms in other languages.
Edit :
As first answer say:
$name_page = Mage::app()->getFrontController()->getRequest()->getRouteName();
if ($name_page == 'cms') {
$cms_page = Mage::getSingleton('cms/page')->getIdentifier();
$active = Mage::getModel('cms/block')->load($cms_page, 'identifier')->getIsActive();
if(!$active){
return null;
}
}
I try this code, but my method is still returning the url.
My languages code:
<?php $_stores = $this->getAllStores(); ?>
<?php if (count($_stores) > 1): ?>
<span class="div-list-lang">
<?php echo ( $this->__('Switch language')); ?>
<ul class="list-lang-ul">
<?php foreach ($_stores as $_store): ?>
<?php
$_store->setTranslatedName(Mage::helper('catalog')->__($this->htmlEscape($_store->getName())));
$country = strtolower(substr($this->htmlEscape($_store->getLocaleCode()), 3));
$url = Mage::helper('youngdogs_alternate')->rewriteUrlForStore($_store->getId());
if (!$url) {
$url = $_store->getBaseUrl();
}
$identifier = Mage::getSingleton('cms/page')->getIdentifier();
$pageId = Mage::getModel('cms/page')->checkIdentifier($identifier, $_store->getId());
if($pageId){
$url = $_store->getBaseUrl();
}
?>
<li>
<a href="<?php echo $url ?>">
<?php $store_id = $_store->getId();
$logo_src = Mage::getStoreConfig('design/header/logo_src_small', $store_id)
?>
<img class="mini-icon" src="<?php echo Mage::getBaseUrl('skin') ?>frontend/default/venauto/<?php echo $logo_src ?>" />
<img class="mini-lang" src="<?php echo $this->getSkinUrl("images/flags/flag_$country.png") ?>" />
<span class="span-lang" title="<?php echo $_store->getTranslatedName() ?>"><?php echo $_store->getTranslatedName() ?></span>
</a>
</li>
<?php endforeach; ?>
</ul>
</span>
<?php endif; ?>