【问题标题】:Magento: How to add a Secondary Menu?Magento:如何添加二级菜单?
【发布时间】:2012-08-22 02:29:52
【问题描述】:

我正在尝试在主菜单栏之外添加辅助菜单栏,因为我想保留列出所有类别的主菜单,然后在同一 magento 商店中为每个网站/商店保留一个单独的菜单。我正在使用的主题已经带有一个菜单小部件,我有点完成了我想要的,但我有一点 CSS 样式问题。让我解释一下。

为了有两个菜单,我做了以下操作。

  1. 已将community/Company/MenuWidget 复制到local/MyCompany/MyMenuWidget
  2. Block、Helper等、控制器、模型下所有文件中指向Company_MenuWidget的所有引用替换为MyCompany_MyMenuWidget。我基本上克隆了 Menu Widget。
  3. css.xml下添加以下行

my_menu_block

  1. header.phtml 中添加了以下行

getChildHtml('cms_my_menu_block') ?>

  1. 向 CSS 样式表“my-class”添加了一个与 nav-container 类具有相同值的类,然后修改该值以将菜单定位在我想要的位置。

  2. 复制了 MenuWidget 样式表并根据需要重命名。

  3. 使用我希望显示的商店/网站的标识符创建了一个块,它确实做到了。

现在我面临的问题是原始菜单部分选择了复制的样式表,因此我对副本所做的修改部分影响了主菜单,而不是所有修改。例如,我能够将容器向下移动并定位它,但现在我必须重新定位的“下拉弹出窗口”在我移动它们时在两个菜单上都会受到影响。

我怎样才能完全分离样式表?我什至不确定为什么另一个菜单栏会出现在新样式表上。

感谢任何帮助。

标签: magento menu


【解决方案1】:

“其他”菜单对两个样式表都有反应的原因是因为两个样式表都在加载,而您可能没有更改类/ID。您可以使用默认参考中的 local.xml 删除另一个:

<reference name="head">
    <action method="removeItem">
        <type>skin_css</type>
        <name>css/path/to.css</name>
    </action>
</reference>

处理此问题的更好方法是让其他菜单执行其操作并使用您自己的模块覆盖您想要的部分。不过,我认为如何做到这一点超出了这个/任何答案的范围。

【讨论】:

  • 谢谢。我试过你的第二个建议。我让菜单做它的事情,我尝试通过向 CSS 样式表添加新类并在我插入新块的 header.phtml 中使用这些类来覆盖部分,并尝试定位。这不完全是我想要做的,但现在它正在服务于它的目的。奇怪的是我的模块和其他菜单的模块都需要自己的样式表。
  • 通过从位于布局文件夹中的 company_menu.xml 调用它,其中 mycompany_menu.xml 也指向我自己的样式表。 'css/company_menu.css' 'css/mycompany_menu.css' 但正如我提到的,它是只拾取每个部分。
  • 你怎么知道它只使用了每个部分的一部分?
  • 因为我正在使用 firefox "Inspect Element" 来查看样式以及样式中使用了哪些文件。我还尝试使用元素检查器进行一些编辑,以查看当我更改样式表上的值以及在样式表上进行这些更改时会受到哪些影响,我可以看到只有少数部分会影响两个菜单,而不是全部。
【解决方案2】:
$id=2; 
$catagory_model = Mage::getModel('catalog/category');
$categories = $catagory_model->load($id);
if(!empty($categories))
{
    $cats = explode(",", $categories->getChildren());
    foreach($cats AS $c)
{
    $cat = $catagory_model->load(trim($c));
    echo '<a href="/'.$cat->getUrlKey().'">'.$cat->getName().'</a>';
}
}

这适用于我的 /html/footer.phtml 模板文件中的 Core 1.9 Magento 设置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 2012-09-05
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多