如何只展示我自己的产品Magento

时间:2014-01-26 22:07:28

标签: magento admin roles editing product

我在Magento设立了“店主”角色。具有该角色的用户将只能添加/编辑/删除产品。

我需要的是告诉我如何限制这些用户在他们转到目录时只能看到列表中的产品 - >管理产品?

如果可能的话,我希望通过代码编辑实现这一目标。

另请注意,所有用户都在使用同一商店。

由于

1 个答案:

答案 0 :(得分:5)

这不是Magento Community Edition(或Enterprise)中的“开箱即用”功能,因此您需要编写一些代码才能使其正常工作。

一般而言,您需要:

  1. 向产品添加(隐藏?)属性以存储产品“所有者”的用户ID。
  2. catalog_product_save_before编写一个事件观察者,将当前用户的用户ID字段分配给新的产品所有者属性。
  3. 重写_prepareCollection的{​​{1}}或_addColumnFilterToCollection方法,将product_owner属性添加到集合中,并将其过滤为当前用户。
  4. 这将确保给定用户在网格中出现的唯一产品是他们拥有的产品。但是,我还会在Mage_Adminhtml_Block_Catalog_Product_Gridcontroller_action_predispatch_adminhtml_catalog_product_edit事件上实施观察员,以便在产品编辑/保存之前检查产品所有者的价值,以确保用户未尝试编辑产品没有出现在网格上。

    如果您在添加属性,设置块重写或创建事件观察器方面需要任何进一步的帮助,我确信这些问题已经在SO上得到了解答,这个问题有点过于宽泛而无法在该详细程度上回答