2015-05-14 54 views
1

我正在使用我的代碼創建管理員用戶。但最初我將它保存爲非活動用戶。這工作正常。然後,我需要編輯該管理員用戶記錄(以編程方式),我只需要將is_active值更改爲一個,以使我的管理員用戶處於活動狀態。所以我試着下面的代碼:magento以編程方式更新管理員用戶詳細信息

$email = '[email protected]'; 
    Mage::getModel('admin/user') 
          ->loadByUsername($email) 
          ->setIsActive(1) 
          ->save(); 

在這裏,我用用戶名過濾數據。當我運行這個is_active值正在改變,因爲我需要。但與此同時,密碼字段也發生了變化。任何人都可以告訴我爲什麼會發生,我能做些什麼來解決這個問題。

謝謝。

回答

0

我發現了這個問題。根據問題我使用loadByUsername($ email)過濾數據。但我改變了我的代碼,如下所示;

$email = '[email protected]'; 
$userByEmail = Mage::getModel('admin/user')->getCollection() 
       ->addFieldToFilter('email', array('eq' => array($email))); 

foreach ($userByEmail as $uByEmail) { 
    $userId = $uByEmail['user_id']; 
} 

$user = Mage::getModel('admin/user')->load($userId); 
     $user->setIsActive(1) 
     ->save(); 

根據代碼,我檢索user_id使用已知的電子郵件地址。然後使用該user_id加載數據。然後保存價值。

這樣解決了我的問題:)

相關問題