Php Magento隐藏的自定义产品属性

Php Magento隐藏的自定义产品属性,php,magento,Php,Magento,我目前正在制作一个模块,以便用户在结账页面上看到类似这样的内容:“购买产品X的人也购买了Y、Z和T” 我制作了一个cronjob来计算每个产品的相关产品,并在安装脚本中为产品添加了一个属性 我决定(为了简单起见)存储最相关的5种产品,因此我想存储如下内容:123-3-5543-1290-9911。但我不希望管理员在任何地方看到这一点,我尝试了以下方法: $setup->addAttribute('catalog_product', $attrCode, array( // more

我目前正在制作一个模块,以便用户在结账页面上看到类似这样的内容:“购买产品X的人也购买了Y、Z和T”

我制作了一个cronjob来计算每个产品的相关产品,并在安装脚本中为产品添加了一个属性

我决定(为了简单起见)存储最相关的5种产品,因此我想存储如下内容:
123-3-5543-1290-9911
。但我不希望管理员在任何地方看到这一点,我尝试了以下方法:

$setup->addAttribute('catalog_product', $attrCode, array(
    // more stuff
    'type' => 'hidden',
    'input' => 'text',
    'visible' => 0,
    // more stuff
));
我看了这里,发现了一些有趣的东西,但不是如何完全隐藏这个领域

另一种选择是创建我自己的表,但这似乎是一种更优雅的解决方案

你觉得怎么样?是创建自己的表更好,还是添加属性并隐藏它更好


谢谢您

将目录属性的“is_visible”属性设置为0将对后端的管理表单隐藏它们,这可以从以下代码()中看出:

所以执行

 $setup->updateAttribute('catalog_product', $attrCode, 'is_visible', '0');

我是这样解决的

转到目录>属性>管理属性>添加新属性

然后,保存。然后,转到数据库并运行此查询:

SELECT * FROM eav_attribute WHERE attribute_code ='attribute_code';
将列前端输入值更改为隐藏,然后保存


希望能有所帮助。

谢谢,工作做得很好。通过查看
addAttibute()
和setFieldset()方法,可以清楚地看出,我无法添加
的部分在
addAttribute
中可见,就在update属性中。但正是这样的事情让你想杀人。无论如何,祝你好运,愿邪恶势力在去你家的路上变得混乱。@VladPreda这是因为
addAttribute
期望的数据数组通过
\u prepareValues
方法传递。此
\u prepareValues
方法要求参数选项为“可见”。然后,它会将提供的参数的数组键更改为“is_visible”。这也让我发疯,但也解释了为什么它对你不起作用<代码>更新属性
接受要更新的属性配置选项的实际“代码”。
SELECT * FROM eav_attribute WHERE attribute_code ='attribute_code';