在Magento中,插入的产品对管理员不可见?

时间:2013-10-28 09:33:48

标签: php magento

在Magento我从前端(用户)插入产品并在后端显示(在管理员中)。现在我希望产品不显示给管理员?因为如果用户为该产品付款,我会集成一些付款选项...该产品只显示给管理员(后端)?

2 个答案:

答案 0 :(得分:0)

我不知道为什么需要这样做,但这可以通过以下方式完成:

  1. 创建(yes / no)类型的属性说(admin_visibility),将管理员应该看到的产品设置为YES,将其他产品设置为否。

  2. 现在覆盖产品网格,使用产品集合上的addAttributeToFilter('admin_visibility',1)功能来过滤网格,现在只有管理员可以看到admin_visibility设置为YES的产品。

答案 1 :(得分:0)

我已经解决了这个问题。在我的网站中,我通过使用哪些用户可以从前端添加产品来开发该模块。在添加产品时,我使用setVisibility为1,即

$product->setVisibility(1);

从管理员,你必须去app / code / core / Mage / Adminhtml / Block / Catalog / Product / grid.php

然后转到函数_prepareCollection并从

更改那里的行
    $collection = Mage::getModel('catalog/product')->getCollection()
        ->addAttributeToSelect('sku')
        ->addAttributeToSelect('name')
        ->addAttributeToSelect('attribute_set_id')
        ->addAttributeToSelect('type_id');

    $collection = Mage::getModel('catalog/product')->getCollection()
        ->addAttributeToSelect('sku')
        ->addAttributeToSelect('name')
        ->addAttributeToSelect('attribute_set_id')
        ->addAttributeToSelect('type_id')
        ->addAttributeToFilter('Visibility', 4);

这将解决问题。