Цільові сторінки ролей


10

У нас є кілька різних користувачів, які використовують задній кінець Magento для різних цілей.

Наприклад, у нас є люди, які по суті просто доставляють пакунки, і все, що ми насправді хочемо, щоб вони бачили, - це сторінка відправлення - і якщо не лише ця сторінка, вони повинні приземлитися там під час входу.

Намагаючись отримати цю установку, я створив нового користувача «корабель» і пов’язав його з новою роллю «вантажовідправник». Ця роль отримала доступ до ресурсу Продаж -> Відвантаження.

Я ввійшов як корабель, і вуаля! Ідеально! Приземлившись прямо в сітці відправлень, я зміг відкрити відправлення - і тоді я помітив проблему. Цей користувач не зміг надіслати інформацію про відстеження, що є обов'язковою для цієї ролі.

Мені вдалося отримати цю кнопку для відображення / функціонування на екрані відправлення, включивши рольовий ресурс Продаж -> Замовлення -> Дії -> Надіслати електронні листи з продажу.

Однак коли корабель входить, однак він скидається в сітку замовлень, а не в мережу відправки. Я припускаю, що це просто тому, що "Замовлення" вище на ресурсі дерева, ніж "Відвантаження". Це правда?

Короткий огляд : чи є ефективний спосіб розмістити користувача адміністратора на певному екрані / сітці?

Переважно з екрана конфігурації - я не сумніваюся, що це міг реалізувати хтось із наших розробників.

Існує декілька різних ролей, які ми потребуємо, щоб їх можна було значно впорядкувати, поставивши цих користувачів там, де їм потрібно провести 99% часу.


1
@ j0k: тепер ви будете редагувати кожну публікацію?
user487772

@ Тім не кожен, а лише ті, з друком всередині.
j0k

Відповіді:


8

Ось один із способів зробити це:

  • Запропонуйте спостерігачеві спостерігати, коли адміністратор входить, а саме admin_session_user_login_successподія
  • Перевірте, яка роль поточного адміністратора, використовуйте наступний код:

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
  • Перенаправляйте на потрібну сторінку на основі ролі, використовуйте наступний код:

    Mage::app()->getResponse()
               ->setRedirect(Mage::helper('adminhtml')
               ->getUrl("admin/sales_order/view", array('id'=>'1')));

Сподіваюся, це було корисно :)


Цікаво - і це працюватиме з увімкненою функцією "Додати секретний ключ до URL-адрес"?
blckgrffn

повинен працювати, хоча ніколи його не перевіряв
pzirkind
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.