【问题标题】:Magento add category list items in navbar which links to different category if category attribute is setMagento 在导航栏中添加类别列表项,如果设置了类别属性,则链接到不同的类别
【发布时间】:2012-10-30 08:35:32
【问题描述】:

我有一个很奇怪的问题。 我必须在 magento 中创建一个网上商店。

问题出在导航菜单中。 我的客户想要一个包含所有类别的下拉列表项。 但他也想选择几个类别分别显示在导航栏中。

当然,我可以为此使用 url 重写。但问题是。客户可以随时更改选择的类别。这些类别也可以有子类别。

到目前为止,我创建了一个新的类别属性,其中包含所有类别的下拉列表。 如果设置了此属性,我想这样做。然后它将在此列表项上加载的类别将更改(下拉项的值是类别的 ID)。

我希望到目前为止我说得通。

我不知道如何解决这个问题。

希望有人能指出正确的方向。

任何帮助表示赞赏:)

【问题讨论】:

    标签: magento drop-down-menu navigation categories listitem


    【解决方案1】:

    我建议为类别模型使用一个新的布尔属性,该属性在导航栏中显示/隐藏类别。使用设置模型很容易添加。对于下拉列表,我的解决方案是使用 AJAX 调用获取特定类别的子树并更新下拉列表。而且我会添加一些子树缓存,以避免过多的数据库操作。不知道我是否完全理解你想要达到的目标;)

    这样,客户端可以启用/禁用显示的类别并重新排列其他所有内容,将来不会出现问题。

    【讨论】:

    • 感谢您的回复 :) 我想这会让我走得很远 :) 不过我忘了说一件事。列表项应添加在类别列表项 x 和类别列表项 y 之间。 (就在两个特定列表项之间)。这导致了目前的大部分困难。
    • 我很确定这可以通过一些没有问题的 jQuery 魔术来实现。只需处理 ID 并适当地插入/删除。也许稍微考虑一下可用性会是一种更好的方法;)无法想象客户实际上在使用这样一个不断变化的导航栏......但从你的描述中很难想象最终结果会是什么样子。无论如何快乐编码;)
    • 好的,我现在有一个很好的想法。我有一个问题。在 app/code/core/page/html/topmenu.php 的 _getHtml() 函数中(我不是在编辑代码核心,别担心 :))。我正在尝试获取我创建的类别属性。我如何在这里获取此属性的值?
    • 好吧,你查询模型对象 :) 从注册表中获取当前类别,加载模型,然后执行 $category->getData('your_attribute_token')。抱歉回复晚了。
    • 抱歉回复晚了,请采纳。您的回答帮助我找到了方法:)。不过,我最终确实做了一些不同的事情。我也会在这里添加我的答案。
    【解决方案2】:

    Novalis 上面的答案可以正常工作。但我最终解决了它有点不同。

    我在创建类别页面中添加了一个新字段。 该字段有一个所有类别的下拉列表。 如果您创建一个类别并在下拉列表中选择某些内容。它将在下拉列表中加载所选类别的所有信息。

    所以我为客户创建了三个类别。 (特色类别 1,2 和 3)。 在所有三个中,我在这个下拉列表中选择了一些东西。所以现在它显示:牛仔裤配件和包。

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多