Не перенаправлять на другой URL-адрес страницы администратора с помощью наблюдателя.
-
13-12-2019 - |
Вопрос
Я использовал приведенный ниже код, вызываемый Observer, но не могу перенаправить на страницу продукта администратора.
путь: локальный/Пакет1/Test1/etc/config.xml
<adminhtml>
<events>
<controller_action_layout_generate_blocks_before>
<observers>
<module_block_observer>
<type>singleton</type>
<class>test1/observer</class>
<method>testredirect</method>
</module_block_observer>
</observers>
</controller_action_layout_generate_blocks_before>
</events>
<adminhtml>
путь: локальный/Package1/Test1/Model/Observer.php
public function testredirect($observer)
{
$url = Mage::helper("adminhtml")->getUrl("adminhtml/catalog_product/index/");
Mage::app()->getFrontController()->getResponse()->setRedirect($url);
Mage::app()->getResponse()->sendResponse();
}
Я хочу перенаправить на страницу продукта каталога администратора («страница сетки продуктов») с помощью наблюдателя, но мой redirect
код не работает, и браузер выдает ошибку.Ошибка This webpage has a redirect loop ERR_TOO_MANY_REDIRECTS
Решение
Ваше перенаправление работает.
Проблема в том, что каждый раз, когда вы заходите на страницу, она перенаправляется на adminhtml/catalog_product/index/
а затем при загрузке этой страницы она перенаправляется на adminhtml/catalog_product/index/
а затем при загрузке этой страницы она перенаправляется на adminhtml/catalog_product/index/
а потом.....
Вам нужен случай, когда вам больше не следует перенаправлять.