Как пользоваться VirtualPage
Простите за сеошный заголовок. Искал пошаговую инструкция и в сети и на modx.pro.
Поделитесь ссылкой пожалуйста, если есть статья, где подробно, описывается, процесс создания виртуальных страниц.
Имеем урл: сайт.ру/категория/товар
Хочу вынести отзывы о товаре на отдельную страницу сайт.ру/категория/товар/отзывы-о-товаре
Для отзывов использую easyComm
Есть еще задача посложнее, с которой, надеюсь VirtualPage справится.
В карточке товара, в характеристиках сделать, некоторые значения характеристик ссылкой.
Например: Цвет товара — красный (где красный, ссылка на виртуальную страницу, со всеми товарами сайта, красного цвета)
Если я не правильно планирую использовать для этого VirtualPage, просьба подсказать более правильное решение. Так-как такие перекрестные ссылки, тренд 2017-2018 года, я думаю кто-то, уже это делал и есть готовое решение, за которое я готов и заплатить.
Всем тепла в этом и следующем году
Поделитесь ссылкой пожалуйста, если есть статья, где подробно, описывается, процесс создания виртуальных страниц.
Имеем урл: сайт.ру/категория/товар
Хочу вынести отзывы о товаре на отдельную страницу сайт.ру/категория/товар/отзывы-о-товаре
Для отзывов использую easyComm
Есть еще задача посложнее, с которой, надеюсь VirtualPage справится.
В карточке товара, в характеристиках сделать, некоторые значения характеристик ссылкой.
Например: Цвет товара — красный (где красный, ссылка на виртуальную страницу, со всеми товарами сайта, красного цвета)
Если я не правильно планирую использовать для этого VirtualPage, просьба подсказать более правильное решение. Так-как такие перекрестные ссылки, тренд 2017-2018 года, я думаю кто-то, уже это делал и есть готовое решение, за которое я готов и заплатить.
Всем тепла в этом и следующем году
Комментарии: 2
Если url действительно сайт.ру/категория/товар, то вы можете написать правило:
/{category}/{product}/reviews
событие onHandleRequest, обработчик — например Ресурс. А на странице ресурса вызвать уже сниппет некий. Задача этого сниппета — найти product, и вызвать ecForm и ecMessages, передав им соответствующий thread.
Для любителей программного подхода.
Берем modHelpers и делаем простейший роутер.
1. Создаем страницу отзывов. На ней нужно вызвать сниппет, который выводит отзыв из БД.
2. В плагине на OnHandleRequest (или OnPageNotFound) пишем
П.С. Я таким образом формирую хлебные крошки для виртуальных страниц типа https://modzone.ru/blog/2017/10/.
Берем modHelpers и делаем простейший роутер.
1. Создаем страницу отзывов. На ней нужно вызвать сниппет, который выводит отзыв из БД.
2. В плагине на OnHandleRequest (или OnPageNotFound) пишем
# Срабатывает на адрес - site.ru/category/product/reviews
if ($modx->context->key == 'mgr') return;
// Форвардим на страницу отзывов
if (request()->segment(3) == 'reviews') forward('id страницы отзывов');
В сниппете получаем отзывlist($category,$product) = request()->segments();
// Делаем запрос в базу по данным $category и $product.
Вауля.П.С. Я таким образом формирую хлебные крошки для виртуальных страниц типа https://modzone.ru/blog/2017/10/.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.