Передать значения в VirtualPage при переходе по ссылке
Здравствуйте!
Прошу помощи в настройке VirtualPage.
Ситуация такая:
есть страницы — site.ru/objects/id-number/,
на этих страницах стоят ссылки — site.ru/catalog/VP-category/VP-page/
По ссылке будет выборка каталога товаров.
Задача:
при клике сформировать страницу с данным адресом (получить VP-category и VP-page), при этом в pdoPage подставить условие:
Насколько я понимаю данную ситуацию,
в маршруте нужно указать — /catalog/{category:[a-z0-9]}/{page:[a-z0-9]}/
в обработчике — динамический ресурс, содержимое: [[$VP-chunk]].
А дальше тупик. Видимо сниппет необходимо какой-то повесить внутрь чанка, но с PHP я, к сожалению, не дружу пока.
Также есть предположение повесить VP-category и VP-page в дата-атрибуты ссылки, т.е. сделать ссылки вида
Или в этом нет необходимости?
Прошу помощи в настройке VirtualPage.
Ситуация такая:
есть страницы — site.ru/objects/id-number/,
на этих страницах стоят ссылки — site.ru/catalog/VP-category/VP-page/
По ссылке будет выборка каталога товаров.
Задача:
при клике сформировать страницу с данным адресом (получить VP-category и VP-page), при этом в pdoPage подставить условие:
&where=`{
"city": "VP-category__VP-page"
}`
Насколько я понимаю данную ситуацию,
в маршруте нужно указать — /catalog/{category:[a-z0-9]}/{page:[a-z0-9]}/
в обработчике — динамический ресурс, содержимое: [[$VP-chunk]].
А дальше тупик. Видимо сниппет необходимо какой-то повесить внутрь чанка, но с PHP я, к сожалению, не дружу пока.
Также есть предположение повесить VP-category и VP-page в дата-атрибуты ссылки, т.е. сделать ссылки вида
<a href="http://site.ru/catalog/VP-category/VP-page/" data-category="VP-category" data-page="VP-page">Ссылка</a>
.Или в этом нет необходимости?
Комментарии: 4
На виртуальной странице доступны плейсхолдеры из маршрута с префиксом vp.
В Вашем случае это [[+vp.category]] и [[+vp.page]]. Соответственно, в чанке [[$VP-chunk]] или шаблоне виртуальной страницы Вы можете делать выборку:
В Вашем случае это [[+vp.category]] и [[+vp.page]]. Соответственно, в чанке [[$VP-chunk]] или шаблоне виртуальной страницы Вы можете делать выборку:
&where=`{
"city": "[[+vp.category]]__[[+vp.page]]"
}`
Спасибо за подсказку, буду пробовать!
Т.е. когда в маршруте я указываю /catalog/{category:[a-z0-9]}/{page:[a-z0-9]}/, VP автоматически определяет переменные category и page в зависимости от маски?
Т.е. когда в маршруте я указываю /catalog/{category:[a-z0-9]}/{page:[a-z0-9]}/, VP автоматически определяет переменные category и page в зависимости от маски?
Он берет данные из URI.
То есть если у Вас будет адрес site.ru/catalog/15/2/, то [[+vp.category]] выведет 15, а [[+vp.page]] — 2.
То есть если у Вас будет адрес site.ru/catalog/15/2/, то [[+vp.category]] выведет 15, а [[+vp.page]] — 2.
Ясно. Спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.