По-умолчанию в VirtueMart, если товар недоступен текущему посетителю с учётом
его Группы/Групп Покупателей, тогда вместо карточки товара посетитель увидит
страницу 404 (если в настройках VM выключена обработка 404). Где переделать
такое поведение?
Например, когда надо вместо вывода страницы с ошибкой 404 сделать редирект 301
на Главную или раздел Каталог и при этом показать нужное системное сообщение.
Модифицируется это в файле:
components/com_virtuemart/views/productdetails/view.html.php
Делаем свою обработку вместо:
throw new RuntimeException('VirtueMart product not found.', 404);
Например, обработка может быть в таком духе:
if (in_array(272, $root_cats) && in_array(6, $product1->shoppergroups)) { $host = 'gnevyshev.ru'; } $link = '//'.$host.$sef_link; $app->getMessageQueue(true); // for clear $app->enqueueMessage(vmText::_('...'.
$link.'...'
)); // РЕДИРЕКТ на Каталог $app->redirect(JRoute::_('index.php?Itemid=128'), 301);
Комментариев нет:
Отправить комментарий