2012-08-01 81 views
0

我在Magento Enterprise(v1.11.2.0)中有一个基本的产品。我需要在许多指令表中加上0来表示这个产品。我知道我可以在文本框中对链接进行硬编码并将它们显示在页面上,但是在某些时候,我需要通过Magento API访问这些属性的值,因此我需要打破它们。是否可以将多个属性值添加到Magento产品中的单个属性?

我知道我可以添加多个属性(例如instruction-1,instruction-2等),但这不是很干净或可扩展。

我也知道我可以添加多个“自定义选项”,但关于这一点似乎并不正确。如果我遇到需要这些自定义选项的产品,那实际上是要混淆用户面临的视图逻辑,区分两者(实际的自定义选项和人造自定义选项)。

想法?

回答

0

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

+0

谢谢,Nate,但我试图保持在Magento框架的范围内,而不是构建自定义代码。不过,我们可能没有Magento的选择。 – 2012-08-01 21:18:03

+0

对。我认为如果在框架内是可能的话,那么Magento团队就会这样做,而不是像上面描述的那样。当我做到这一点时,我几乎模仿了定价。 – Nate 2012-08-01 21:32:09

1

在eav_attribute中创建一个名为instructions的属性作为varchar。将指令-1,指令-2等的所有数据以序列化形式保存在instructions属性中。所以,下一次当你展示说明时,只要将它们反序列化,你就会很好。

或者你看起来有什么不同?

+0

是否有通过Magento管理面板插入序列化数据的方法? – 2012-08-01 21:19:10

+0

是的,有一种方法。您需要为您的新属性'instructions'提供自定义'backend_model'。 'backend_model'允许您在提供的数据插入到数据库之前编辑提供的数据,并允许在加载之前准备数据。困惑?我会告诉你如何在下一个答案中实现。 – Kalpesh 2012-08-01 21:51:57

相关问题