Як і всі зауваження, зазначені раніше, це не вийшло з поля. Ось кілька підказок щодо того, де / що вам може знадобитися коригувати:
Mage_Admin_Model_User
public function getStartupPageUrl()
{
$startupPage = Mage::getStoreConfig(self::XML_PATH_STARTUP_PAGE);
$aclResource = 'admin/' . $startupPage;
if (Mage::getSingleton('admin/session')->isAllowed($aclResource)) {
$nodePath = 'menu/' . join('/children/', explode('/', $startupPage)) . '/action';
$url = (string)Mage::getSingleton('admin/config')->getAdminhtmlConfig()->getNode($nodePath);
if ($url) {
return $url;
}
}
return $this->findFirstAvailableMenu();
}
Я ніколи не пробував цього, але це, здається, метод, з якого називається
Mage_Adminhtml_IndexController
і є IndexAction, який викликає вищевказану функцію. Оскільки це адміністратор, зробити перезапис Моделі, ймовірно, буде простіше.
/**
* Admin area entry point
* Always redirects to the startup page url
*/
public function indexAction()
{
$session = Mage::getSingleton('admin/session');
$url = $session->getUser()->getStartupPageUrl();
if ($session->isFirstPageAfterLogin()) {
// retain the "first page after login" value in session (before redirect)
$session->setIsFirstPageAfterLogin(true);
}
$this->_redirect($url);
}
Отже, змінити getStartupPageUrl (), щоб мати вашу URL-адресу, здається, найкраще місце, щоб спробувати це.
Це все теоретично, я ще не пробував цього, але якщо вам потрібен зразок модуля, я, безумовно, можу пропустити це і надати його.
Якщо кожен користувач адміністратора опиниться на одній сторінці, це зробити досить просто, якщо є якісь динамічні елементи, це буде трохи складніше. Щасти!