我有超级简单多供应商市场免费扩展。这用于多个供应商创建产品。这很有效。
但是,当供应商创建产品时,我希望产品被淘汰。只有管理员才能激活它们。
文件所在的任何提示都要修改?
答案 0 :(得分:1)
好的,我找到了解决方案:
编辑文件 app / code / core / Mage / Catalog / Model / Product / Status.php
添加此函数以获取用户的角色ID:
/**
* get the role id of the logged in user
*/
static function role_id() {
$username = Mage::getSingleton('admin/session')->getUser()->getUsername();
$role_data = Mage::getModel('admin/user')->getCollection()->addFieldToFilter('username',$username)->getFirstItem()->getRole()->getData();
return $role_data["role_id"];
}
修改此功能以隐藏不在管理员组中的用户的“已启用”下拉项:
static public function getOptionArray()
{
if (self::role_id() == 1) {
return array(
self::STATUS_ENABLED => Mage::helper('catalog')->__('Enabled'),
self::STATUS_DISABLED => Mage::helper('catalog')->__('Disabled')
);
} else {
return array(
self::STATUS_DISABLED => Mage::helper('catalog')->__('Disabled')
);
}
}
这是删除“ - 请选择 - ”的东西:
static public function getAllOptions()
{
if (self::role_id() == 1) {
$res = array(
array(
'value' => '',
'label' => Mage::helper('catalog')->__('-- Please Select --')
)
);
} else {
$res = array();
}
foreach (self::getOptionArray() as $index => $value) {
$res[] = array(
'value' => $index,
'label' => $value
);
}
return $res;
}
玩得开心!