我想编辑magento导航菜单条形码,但我不知道哪个文件有菜单条形码请帮忙怎么编辑该文件并更改请帮助
i want to edit menu magento provide menu like
<ul>
<li><a href=''>Home</a></li>
<li><a href=''>Contact Us</a></li>
<li><a href=''>Abouty Us</a></li>
</ul>
i want to edit it like
<ul>
<li><img src=''/><a href=''>Home</a></li>
<li><img src=''/><a href=''>Contact Us</a></li>
<li><img src=''/><a href=''>Abouty Us</a></li>
</ul>
我想将图像添加到菜单中并创建高级菜单
答案 0 :(得分:13)
您应该覆盖Mage_Page_Block_Html_Topmenu类中的_getHtml()方法。
以下是步骤:
class Mage_Page_Block_Html_Topmenu_Custom extends Mage_Page_Block_Html_Topmenu
<block type="page/html_topmenu" name="catalog.topnav" template="page/html/topmenu.phtml"/>
替换为<block type="page/html_topmenu_custom" name="catalog.topnav" template="page/html/topmenu.phtml"/>
答案 1 :(得分:5)
你好朋友你也可以看到导航菜单栏进入navigation.php文件
\应用\代码\核心\法师\目录\块\ navigation.php
该文件具有导航菜单条形码
答案 2 :(得分:4)
app\design\frontend\default\yourtheme\template\page\html\topmenu.phtml
答案 3 :(得分:2)
根据您的Magento版本,此帖子可能已过期,因此我会更新。看起来Magento因为这个原因而进行了更改,允许自定义nav html。
如果你看看第80行,请参阅Mage_Page_Block_Html_Topmenu
if ($renderer = $this->getChild('catalog.topnav.renderer')) {
$renderer->setMenuTree($this->_menu)->setChildrenWrapClass($childrenWrapClass);
$html = $renderer->toHtml();
} else {
$html = $this->_getHtml($this->_menu, $childrenWrapClass);
}
它检查是否定义了渲染块,如果没有,则使用不建议使用的构建nav html的方法
/**
* Recursively generates top menu html from data that is specified in $menuTree
*
* @param Varien_Data_Tree_Node $menuTree
* @param string $childrenWrapClass
* @return string
* @deprecated since 1.8.2.0 use child block catalog.topnav.renderer instead
*/
protected function _getHtml(Varien_Data_Tree_Node $menuTree, $childrenWrapClass)
在主题的local.xml中尝试此块语句。
<default>
<reference name="catalog.topnav">
<block type="page/html_topmenu_renderer" name="catalog.topnav.renderer" template="page/html/topmenu/renderer.phtml"/>
</reference>
</default>
然后你可以将模板页面/ html / topmenu / render.phtml从rwd主题下拉到你自己的主题中,并进行自定义而不必重写块。
答案 4 :(得分:1)
好的,替换这个
<li>
<a href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php echo $page['title']; ?></a>
</li>
BY
<li><img src=''/>
<a href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php echo $page['title']; ?></a>
</li>
好的,这是新代码,用这个
替换整个页面代码<?php $_menu = $this->getHtml('level-top') ?>
<?php if($_menu): ?>
<?php $identifier = Mage::getSingleton('cms/page')->getIdentifier() ?>
<?php $collection = Mage::getModel('cms/page')->getCollection()- >addStoreFilter(Mage::app()->getStore()->getId());?>
<?php $collection->getSelect()
->where('is_active = 1'); ?>
<ul class="main-menu cf">
<?php foreach ($collection as $page): ?>
<?php $PageData = $page->getData(); ?>
<?php //make the current page active?>
<?php if($identifier == $PageData['identifier'] && $identifier != 'no-route'){ $c = 'class="active"';}else{ $c = '';}?>
<?php if($PageData['identifier']!='no-route' && $PageData['identifier']!='enable-cookies' && $PageData['identifier']!='home2') { ?>
<li><img src=''/>
<a <?php echo $c;?> href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php echo $page['title']; ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
</ul>
根据您的需要设计样式。通过替换类