Получение текущего списка пользователей в adminhtml выберите

Я пытаюсь получить текущий (полный) список пользователей в форме выбора adminhtml. У меня есть форма выбора и пользовательская модель источника. Все работает правильно, если я настроил ручной массив.

Тем не менее, мне трудно понять, как получить его автоматически. Все, что я знаю, это то, что я делаю это совершенно неправильно, но я не могу думать о том, как это должно быть. Я обнаружил, что могу получить текущий список пользователей этим:

$roles_users = Mage::getResourceModel('admin/roles_user_collection');
foreach($roles_users as $roleuser):
$user = Mage::getModel('admin/user')->load($roleuser->getUserId());
echo $user->getUsername();
endforeach;

И что я могу получить информацию в избранном, как это:

public function toOptionArray()
{
$themes = array(
array('value' => 'user 1', 'label' => 'user 1'),
array('value' => 'user 2', 'label' => 'user 2'),
array('value' => 'user 3', 'label' => 'user 3'),
);

return $themes;
}

Несмотря на то, что мне кажется, что я не могу получить пики magento в виде массива:

public function toOptionArray()
{
$rolesUsers = Mage::getResourceModel('admin/roles_user_collection');

foreach ($rolesUsers as $roleuser) :
$user = Mage::getModel('admin/user')->load($roleuser->getUserId());
$users = array(
array('value' => $user->getUsername(), 'label' => $user->getUsername()),
);

return $users;
endforeach;
}

Идея в том, что я получаю это так, но через magento, а не вручную.

введите описание изображения здесь

0

Решение

Исправлено через способ Magento:

/**
* @return array
*/
public function toOptionArray()
{
/** @var \Mage_Admin_Model_Resource_User_Collection $userCollection */
$userCollection = Mage::getResourceModel('admin/user_collection');

return $userCollection
->addFieldToSelect('user_id', 'id')
->addFieldToSelect('username', 'name')
->toOptionArray();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector