Magento隐藏的自定义产品属性 - php

我目前正在制作一个模块,以便用户在结帐页面上看到类似的内容:“购买产品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
));

我在这里查看:http://blog.chapagain.com.np/magento-adding-attribute-from-mysql-setup-file/,我发现了一些有趣的东西,但没有找到如何完全隐藏此字段的方法。

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

你怎么看?创建自己的表或添加属性并将其隐藏会更好吗?

谢谢

参考方案

将目录属性的'is_visible'属性设置为0将在后台的管理表单中隐藏它们,如以下代码(Mage_Adminhtml_Block_Widget_Form::_setFieldset())所示:

 protected function _setFieldset($attributes, $fieldset, $exclude=array())
    {
        $this->_addElementTypes($fieldset);
        foreach ($attributes as $attribute) {
            /* @var $attribute Mage_Eav_Model_Entity_Attribute */
            if (!$attribute || ($attribute->hasIsVisible() && !$attribute->getIsVisible())) {
                continue;
            }

所以执行

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

Magento:通过自定义字段获取我的模型的记录 - php

是否可以通过模型的另一个字段来获取模型的记录?正常方式$model = Mage::getModel('foo_bar/baz'); $model->load($id); // do something with the loaded record 但是我需要这样的东西$model = Mage::getModel('fo…

Magento-将特定父类别的子类别作为链接列出 - php

我是php的初学者,并且坚持尝试仅将一个父类别的子类别称为链接我明白了,它显示了getName,但是getUrl()根本不返回任何URL...。<?php $children = Mage::getModel('catalog/category')->getCategories(3); foreach ($children a…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

Magento API太慢了? - php

因此,我最近通过Magento API调用在数据库上运行了一些查询,例如$connection = Mage::getSingleton('core/resource')->getConnection('core_write'); $readresult = $connection_write->query…