我稍微修改了Magento static pages menu的代码,以包含活动菜单链接的类。
<div>
<?php $collection = Mage::getModel('cms/page')->getCollection()->addStoreFilter(Mage::app()->getStore()->getId());?>
<?php $collection->getSelect()
->where('is_active = 1'); ?>
<ul id="nav-top-list">
<?php foreach ($collection as $page): ?>
<?php $PageData = $page->getData(); ?>
<?php if($PageData['menu']!= 'false') { ?>
<li>
<a href="/<?php echo $PageData['identifier']?>"<?php if ($url == "/".$PageData['identifier']) { ?>class="active"<?php } ?>><?php echo $PageData['title'] ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
我已在CMS页面中添加了一个新字段,以指定是否应使用true或false将该页面包含在菜单中。实际上,正如你在上面看到的那样,我只是检查设置为false,其他一切都会得到一个链接。如果要使用此字段,则需要向cms_page表添加新字段。
$fieldset->addField('menu', 'text', array(
'name' => 'menu',
'label' => Mage::helper('cms')->__('On Menu'),
'title' => Mage::helper('cms')->__('On Menu'),
'required' => true,
'disabled' => $isElementDisabled
));
我还在名为sortorder的CMS页面中添加了另一个字段,其中包含链接应该在菜单上的顺序的编号。有没有人有关于如何使用新的排序顺序字段来排序菜单链接顺序的任何提示?
干杯
答案 0 :(得分:1)
@Andy Flan
('sortorder')触发sql错误。
使用
更好地工作$collection = Mage::getModel('cms/page')->getCollection()->addStoreFilter(
Mage::app()->getStore()->getId())->setOrder('**sort_order**', 'asc');
答案 1 :(得分:0)
你尝试过类似的东西吗?:
$collection=Mage::getModel('cms/page')->getCollection()->addStoreFilter(
Mage::app()->getStore()->getId())->setOrder('sortorder', 'asc');