Я изменил код из Меню статических страниц Magento немного, чтобы включить класс для активной ссылки меню.
<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
));
Я также добавил к страницам CMS еще одно поле с именем sortorder, которое содержит номер для порядка следования ссылок в меню. Кто-нибудь получил какие-либо советы о том, как я мог бы использовать новое поле сортировщика для сортировки порядка ссылок меню?
Приветствия