在 Magento 中,我从前端(用户)插入产品并在后端(在管理员中)显示。现在我希望产品不显示给管理员?因为如果用户为该产品付款,我集成了一些付款选项......该产品仅显示给管理员(后端)?
问问题
249 次
2 回答
0
我不知道为什么需要这样做,但是可以通过以下方式完成:
创建一个(是/否)类型的属性说(admin_visibility),将应该对管理员可见的产品设置为是,将其他产品设置为否。
现在覆盖产品网格,使用产品集合上的 addAttributeToFilter('admin_visibility', 1) 函数过滤网格,现在只有 admin_visibility 设置为 YES 的产品对管理员可见。
于 2013-10-28T13:49:18.437 回答
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);
这将解决问题。
于 2013-11-06T06:21:51.810 回答