Magento-Navigation.phtml覆盖不起作用 我正在开发一个“强”Bootstrap主题,并且我试图修改分配给下拉菜单/父类的类,但我运气不好。

Magento-Navigation.phtml覆盖不起作用 我正在开发一个“强”Bootstrap主题,并且我试图修改分配给下拉菜单/父类的类,但我运气不好。,magento,twitter-bootstrap,Magento,Twitter Bootstrap,我所做的任何更改都不会显示在前端-我已刷新缓存,登录/注销,甚至尝试编辑实际的核心文件,但没有任何效果 我已将navigation.phtml复制到local/Mage/Catalog/Block/navigation.phtml,但仍不起作用 一路上我有没有错过什么?我不太清楚该怎么办。首先,据我所知,在code/core/Mage/Catalog/Block/中没有导航.phtml。而是Navigation.php(Magento 1.7.x) 其次,如果需要覆盖核心模块中的任何内容,最好创

我所做的任何更改都不会显示在前端-我已刷新缓存,登录/注销,甚至尝试编辑实际的核心文件,但没有任何效果

我已将
navigation.phtml
复制到
local/Mage/Catalog/Block/navigation.phtml
,但仍不起作用


一路上我有没有错过什么?我不太清楚该怎么办。

首先,据我所知,在
code/core/Mage/Catalog/Block/
中没有
导航.phtml
。而是
Navigation.php
(Magento 1.7.x)

其次,如果需要覆盖核心模块中的任何内容,最好创建一个单独的模块。因为如果要在
本地
中创建精确副本,则更新后可能无法工作

如果您试图创建下拉菜单,则需要在
app/design/frontend/base/default/
文件夹中编辑创建副本的
app/design/frontend/yourtheme/default/
文件


顶部菜单位于
app/design/frontend/base/default/catalog/navigation/top.phtml
。要查看详细信息,请在
System>Configuration>Developer>Debug

中打开模板路径提示,而不是编辑核心文件,我决定改为通过jQuery进行编辑

<script type="text/javascript">
jQuery('.parent').addClass('dropdown');
jQuery('a.level-top').addClass('dropdown-toggle');
jQuery('li.parent ul').addClass('dropdown-menu');
jQuery('li.level1 ul').wrap('<li class="dropdown-submenu" />');


jQuery('ul.nav li.dropdown').hover(function() {
  jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn();
}, function() {
  jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut();
});
</script>

jQuery('.parent').addClass('dropdown');
jQuery('a.level-top').addClass('dropdown-toggle');
jQuery('li.parent ul').addClass('dropdown-menu');
jQuery('li.level1 ul').wrap('li class=“dropdown submenu”/>');
jQuery('ul.nav li.dropdown').hover(函数(){
jQuery(this).find('.dropdown menu').stop(true,true).delay(200).fadeIn();
},函数(){
jQuery(this).find('.dropdown menu').stop(true,true).delay(200).fadeOut();
});
我通过jQuery添加了该类的required,并使用.wrap来环绕下拉菜单

第二部分是从单击打开子菜单更改为悬停打开子菜单


现在一切正常,并且具有在magento中构建引导多级下拉列表所需的类。

如果您希望将magento 1.7.x转换为引导导航cope topmenu.phtml,则可以将其转换为主题:

*magento/app/design/frontend/your_package/your_theme/template/page/html/topmenu.phtml*

添加jQuery代码:

<script type="text/javascript">
    /*<![CDATA[*/
    jQuery(document).ready(function ($) {
        $("#nav").magentoBootstrapNavigation();
    });
    /*]]>*/
</script>
并替换为:

//$parent.removeClass('open').trigger('hidden.bs.dropdown')
$parent.removeClass('open').trigger('hidden.bs.dropdown').show()

祝你度过愉快的一天。

如果你不认识magento,为什么还要麻烦mate?任何阅读该标题并了解magento开发的人都会知道我在说什么^^^@Andy Cresswell请检查该文件的权限。磁电机应为644才能正常工作。还有,你到底想编辑什么?嘿,伙计,我正在尝试添加下拉菜单/下拉引导类的导航菜单,目前正在尝试使用预设引导类的导航菜单,但它不起作用;)我是说,我错过什么了吗?我正在尝试编辑正确的文件是吗?如果($hasActiveChildren){$classes[]='parent';}这是我试图编辑的一行,以查看是否进行了更改。是否有人通过jquery向每个链接添加数据toggle=“dropdown”?嗨,伙计,我知道如何编辑所有的Design/html/php文件(应用程序/设计/前端)我需要做的是编辑菜单本身的实际结构..例如…对于所有.parent我需要为每个.parent.parent添加下拉菜单我需要以这种方式添加下拉子菜单所有默认引导css类都将作为默认值工作..您是正确的,navigation.phtml实际上是一个.php文件,无论如何它仍然不工作(对core或local所做的任何更改)看起来是开始学习php和编写magento插件的时候了。另外,我与magento合作了一段时间,上面的要点是基本的magento内容^^^我需要做的是编辑core结构;)现在我想用jqueyr来实现它,但我将学习如何在后端实现它。我将向公众发布我的主题,使其重要的一切都是完美的,并且具有升级证明:D
<!-- jQuery scripts -->
<action method="addItem"><type>skin_js</type><script>js/jquery-scripts/magento-to-bootstrap-navigation.js</script></action>
/*
* Convert default Magento navigation to Bootstrap navigation
 */
(function ( $ ) {

    $.fn.magentoBootstrapNavigation = function() {

        var menu = function(){
            var nav = $(this);

            nav.find(".parent")
                .addClass("dropdown")
                .children("a").addClass("dropdown-toggle").attr("data-toggle", "dropdown").append( ' <b class="caret"></b>')
                .next().addClass("dropdown-menu");
        };

        return this.each(menu);

    };

}( jQuery ));
$parent.removeClass('open').trigger('hidden.bs.dropdown')
//$parent.removeClass('open').trigger('hidden.bs.dropdown')
$parent.removeClass('open').trigger('hidden.bs.dropdown').show()