2014-04-16 63 views
1

我有扩展超简单多供应商市场免费。这用于多个供应商创建产品。这很好。限制供应商的产品激活

但是,当供应商创建产品时,我希望产品被停用。只有管​​理员应该能够激活它们。

任何提示文件位于修改?

回答

1

好吧,我发现了一个解决方案:

编辑文件应用程序/代码/核心/法师/目录/型号/产品/ 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; 
} 

玩得开心!

相关问题