【问题标题】:Is it possible to add multiple attribute values to a single attribute in a Magento product?是否可以将多个属性值添加到 Magento 产品中的单个属性?
【发布时间】:2012-08-01 20:11:53
【问题描述】:

我在 Magento Enterprise (v1.11.2.0) 中有一个基本产品。我需要在该产品的许多说明书中添加 0。我知道我可以硬编码文本框中的链接并将它们显示在页面上,但在某些时候,我需要通过 Magento API 访问这些属性的值,所以我需要把它们分开。

我知道我可以向集合中添加多个属性(例如指令 1、指令 2 等),但这不是很干净或可扩展。

我也知道我可以添加多个“自定义选项”,但似乎有些不对劲。如果我遇到需要这些自定义选项的产品,那真的会混淆区分两者(实际自定义选项和虚假自定义选项)的面向用户的视图逻辑。

想法?

【问题讨论】:

    标签: magento enterprise


    【解决方案1】:

    在 eav_attribute 中创建一个名为 instructions 的属性作为 varchar。将指令1、指令2等的所有数据以序列化形式保存在instructions属性中。因此,下次当您显示说明时,只需对它们进行反序列化即可。

    或者你在寻找不同的东西?

    【讨论】:

    • 有没有办法通过 Magento 管理面板插入序列化数据?
    • 是的,有办法。您需要为新属性instructions 提供自定义backend_modelbackend_model 允许您在将提供的数据插入数据库之前对其进行编辑,还允许在加载数据之前对其进行准备。使困惑?我将在下一个答案中向您展示如何实现。
    【解决方案2】:

    这取决于您愿意做多少工作。我最近构建了一个具有多对一关系的模块,并基于分层定价的工作原理。我基本上使用了一个自定义渲染器循环所有当前值并将它们插入到一个表中。然后我使用 javascript 插入和删除行。如果您复制用于分级定价的 magento 类,您应该不会有太大问题。

    【讨论】:

    • 谢谢,Nate,但我试图保持在 Magento 框架的范围内,而不是构建自定义代码。不过,我们可能无法选择 Magento。
    • 对。我认为如果在框架内可行,Magento 团队会采用这种方式而不是上述方式。当我这样做时,我几乎模仿了等级定价。
    最近更新 更多