0

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

4

2 回答 2

0

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

  1. 创建一个(是/否)类型的属性说(admin_visibility),将应该对管理员可见的产品设置为是,将其他产品设置为否。

  2. 现在覆盖产品网格,使用产品集合上的 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 回答