2014-04-16 60 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; 
} 

玩得開心!

相關問題