在Magento我从前端(用户)插入产品并在后端显示(在管理员中)。现在我希望产品不显示给管理员?因为如果用户为该产品付款,我会集成一些付款选项...该产品只显示给管理员(后端)?
答案 0 :(得分:0)
我不知道为什么需要这样做,但这可以通过以下方式完成:
创建(yes / no)类型的属性说(admin_visibility),将管理员应该看到的产品设置为YES,将其他产品设置为否。
现在覆盖产品网格,使用产品集合上的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);
这将解决问题。