#magento #redirect #categories
#magento #перенаправление #Категории
Вопрос:
Возможно ли перенаправить какую-то конкретную категорию на статическую страницу?
До сих пор я пытался сделать это с помощью пользовательского перенаправления, но он жалуется на неуникальный путь запроса. Целевой путь также отключен при редактировании перезаписи категории
Ответ №1:
Да, это возможно, но не без написания пользовательского кода и добавления наблюдателя.
Не вдаваясь в подробности, вы могли бы :
public function observe($observer) {
$request = $observer['controller_action']->getRequest();
$requestUrl = $request->getRequestUri();
if($requestUrl == 'mycategoryname'){
$destinationUrl = 'http://www.mysite.com/static_page';
$response = Mage::app()->getResponse();
$response->setRedirect($destinationUrl, 301);
$response->sendResponse();
exit;
}
}
И на config.xml вам понадобится
<frontend>
<events>
<controller_action_predispatch>
<observers>
<mycompany_mymodule_model_myclass>
<type>singleton</type>
<class>mycompany_mymodule_model_myclass</class>
<method>observe</method>
</mycompany_mymodule_model_myclass>
</observers>
</controller_action_predispatch>
</events>
</frontend>
Комментарии:
1. спасибо, но что, если мне это нужно для нескольких, скажем, 3-4 категорий? Действительно надеялся, что пользовательское перенаправление может сработать
2. Действительно ли ваши категории должны существовать? Если ответа нет, возможно, есть решение этой проблемы.
3. На самом деле да, мы сделали это со статической ссылкой. Спасибо за информацию!
Ответ №2:
Только что наткнулся на это. Я делаю то же самое, по сути, и просто подумал, что, возможно, это можно было бы сделать относительно легко с помощью модуля, который добавляет атрибут категории вместе с некоторым дополнительным и / или пользовательским кодом для панели навигации.
Я думаю, что новым атрибутом категории может быть URL-адрес для перезаписи, а затем проверка в шаблоне navigation / top.phtml, чтобы проверить, заполнен ли этот атрибут, а затем переписать на этот URL, если это так.
Я опубликую здесь позже, если у меня получится, чтобы это работало по желанию.