Magento 1.4 cms页面不会在菜单中隐藏,即使它被设置为禁用



我在一个magento安装中遇到了一个奇怪的东西,我已经有一段时间没有碰它了,所以他们一定添加了一些东西。

问题是:他们将cms页面设置为"禁用",这样页面现在每次访问都会产生404错误(这很好),但由于某种原因,links.html仍然发布所有链接,而不检查页面是否被禁用。

所以我把这个放在这里测试:

<?php $_links = $this->getLinks(); ?>
<?php if(count($_links)>0): ?>
<ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
<?php foreach($_links as $_link): ?>
<?php
$cmsCollections = Mage::getModel('cms/block')->getCollection();
$attribute = "title";  
$value = $_link['title'];  
$cmsCollections->addFieldToFilter($attribute, $value);
$item = $cmsCollections->getFirstItem();
$id = $item->getData('is_active');
if($id == 1){
echo "CMS PAGE ". $value." ACTIVE";
}else{
echo "CMS PAGE ". $value."  is INACTIVE";
}

?>

奇怪的是,我一直得到错误的结果。。。

我不是这里的法师专家,所以也许有人知道如何在getLinks中正确地做到这一点?不幸的是,我没有找到过滤东西的选项

Elijah,CMS BLOCk集合应该是。。。

$cmsCollections=
Mage::getModel('cms/block')->getCollection()->addFieldToFilter('is_active',1);

CMS页面集合

$CMSpageColl
=Mage::getModel('cms/page')->getCollection()->addFieldToFilter('is_active',1);

如果你想要一个特定的CMS块,那么你可以使用识别器来获得它

$cmsCollections = Mage::getModel('cms/block')->getCollection()->addFieldToFilter('identifier',indefiername);

如果你想要一个特定的CMS块,那么你可以使用识别器

$cmspageCollections =
Mage::getModel('cms/page')->getCollection()->addFieldToFilter('identifier',indefiername);

最新更新