Адаптация getResourcesTag под pdoPage, ошибки...
Адаптирую getResourcesTag с pdoPage.
Всё нормально выводится, но возникла проблема с пагинацией…
Не пойму какой чанк нужен для оформления пагинации…
И не пойму как отладить, чтобы
узнать нужный чанк…
сайт: mka-pp.ru/blog/
[[!getResourcesTag? &element=`pdoResources` &includeTVs=`img,img2` &tpl=`blog_item` &limit=`5` &parents=`17,5,25` &showLog=`0` &showHidden=`0`]]
[[!+page.nav]]
вывожу текущим сниппетом
Главное пагинация сама работает частично
Работает первая страница и последняя страница, следующая и предыдущая.
Но не выводятся цифры. Выводится массив данных…
Кто подскажет куда копать в какую сторону?
Всё нормально выводится, но возникла проблема с пагинацией…
Не пойму какой чанк нужен для оформления пагинации…
И не пойму как отладить, чтобы
узнать нужный чанк…
сайт: mka-pp.ru/blog/
[[!getResourcesTag? &element=`pdoResources` &includeTVs=`img,img2` &tpl=`blog_item` &limit=`5` &parents=`17,5,25` &showLog=`0` &showHidden=`0`]]
[[!+page.nav]]
вывожу текущим сниппетом
Главное пагинация сама работает частично
Работает первая страница и последняя страница, следующая и предыдущая.
Но не выводятся цифры. Выводится массив данных…
Кто подскажет куда копать в какую сторону?
Комментарии: 9
Походу у pdoPage расширенный набор параметров для пагинации.
Нужно теперь ковырять в сторону этих данных…
Поставил пока pdoPage с пагинацией, можно через фильтр вывести поиск по тегам, но всё равно хочется разобраться с сниппетом getResourcesTag, чтобы использовать из коробки дополнение.
Нужно теперь ковырять в сторону этих данных…
Поставил пока pdoPage с пагинацией, можно через фильтр вывести поиск по тегам, но всё равно хочется разобраться с сниппетом getResourcesTag, чтобы использовать из коробки дополнение.
Надоело плюнул.
Сделал так
Сделал так
[[!pdoPage? &element=`pdoResources` &includeTVs=`img,img2` &tpl=`blog_item` &limit=`5` &parents=`17,5,25` &showLog=`0` &showHidden=`0` &tvFilters=`[[!getTag]]`]]
Код getTag <?php
if($_GET[tag]){
$tag = 'tags==%'.$_GET[tag].'%';
}
return $tag;
Спасибо!
И привет, инъекция :)
Лучше хотя бы так
Лучше хотя бы так
<?php
if ($_GET['tag']) {
$tag = preg_replace('/[^A-Za-zА-Яа-яЁё0-9_\- ]+/ui', '', $_GET['tag']);
$tag = 'tags==%' . $tag . '%';
}
return $tag;
А так тут нет проверки на точность тега (надо учитывать точные значения между запятыми у тегов)
Для того, чтобы она была, надо убрать
А в моем обезопашенном сниппете getTag закомментировать эту строчку:
&tvFilters=`[[!getTag]]`
и сделать&where=`["CONCAT(',', TVtags.value, ',') LIKE '%,[[!getTag]],%'"]`
и добавить TV-поле с тегами (в данном примере tags) также в &includeTVs.А в моем обезопашенном сниппете getTag закомментировать эту строчку:
// $tag = 'tags==%' . $tag . '%';
А, и для поддержки пробелов надо еще второе упоминание $_GET['tag'] заменить на
Получится вот такой сниппет:
urldecode заранее не рекомендую.
str_replace('%20', ' ', $_GET['tag'])
Получится вот такой сниппет:
if ($_GET['tag']) {
$tag = preg_replace('/[^A-Za-zА-Яа-яЁё0-9_\- ]+/ui', '', str_replace('%20', ' ', $_GET['tag']));
//$tag = 'tags==%' . $tag . '%';
}
return $tag;
urldecode заранее не рекомендую.
Нужно всего лишь в getResourcesTag добавить действующие tpl от pdoPage, а именно, достаточно основных. Если чего-то не будет хватать, просто посмотрите $scriptProperties и добавьте по образцу.
&pageNavTpl = `@INLINE <li class="page-item"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>`
&pageActiveTpl = `@INLINE <li class="page-item active"><a class="page-link" href="[[+href]]">[[+pageNo]]</a></li>`
Позвольте пожать вам руку, это работает)
Долго мучался, пытался запустить getResourcesTag + pdoPage + ajaxmode=`scroll`
При прокрутке до конца подгрузка контента срабатывала один раз и всё.
Не понимал, в какую сторону копать, вроде подгрузка работает, значит правильно указал параметры, но почему лишь однократно?
Добавил вышеуказанные параметры — и о, чудо! Всё ок.
Долго мучался, пытался запустить getResourcesTag + pdoPage + ajaxmode=`scroll`
При прокрутке до конца подгрузка контента срабатывала один раз и всё.
Не понимал, в какую сторону копать, вроде подгрузка работает, значит правильно указал параметры, но почему лишь однократно?
Добавил вышеуказанные параметры — и о, чудо! Всё ок.
Достаточно даже просто пустыми их указать в случае ajaxmode=`scroll`
[[!getResourcesTag?
&parents=`123`
&hideContainers=`1`
&grSnippet=`pdoPage`
&element=`pdoResources`
&tpl=`tpl.work`
&pageNavTpl = ``
&pageActiveTpl = ``
&ajaxMode=`scroll`
&ajaxElemRows=`#pdopage .work-container`
]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.