2014-04-16 1 views
1

연장자 슈퍼 단순 멀티 벤더 마켓 플레이스 무료입니다. 여러 공급 업체가 제품을 만드는 데 사용됩니다. 이것은 잘 작동합니다.공급 업체의 제품 활성화 제한

하지만 공급 업체가 제품을 만들면 제품을 비활성화하고 싶습니다. 관리자 만이 활성화 할 수 있어야합니다.

수정을 위해 파일을 찾을 수있는 힌트가 있습니까?

파일을 편집 응용 프로그램/코드/코어/마법사/카탈로그/모델/제품/Status.php

역할을 얻기 위해이 기능을 추가

답변

1

좋아, 나는 이것에 대한 해결책을 발견 사용자의 아이디 :

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') 
     ); 
    } 
} 
:

/** 
* 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 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; 
} 

재밌게을!

관련 문제