Не работает Fenom при вызове плейсхолдера Total
Приветствую сообщество!
В общем вопрос наверное простенький, но все же.
У меня почему не выводиться плейсходел page.total при помощи Фенома
Пытался выводить так:
{'page.total' | placeholder}
и так:
А вот так:
[[!+page.total]]
В легкую!
При этом вот это:
Подскажите в чем может быть беда!
UPD!
В общем я балбес…
РЕШЕНО!
Нужно было всего то поместить вызов плейсхолдера после вызова самого сниппета а мне нужно было расположить до!
В общем запихнул всю работу сниппета в переменную и вызвал плейсхолдел TOTAL раньше чем плейсхолдер работы самого сниппета!
За наводку спасибо комментарию (Василия Наумкина, который я нашел случайно и догадался что я что то делаю не так):
Комментарий Василия.
В общем вопрос наверное простенький, но все же.
У меня почему не выводиться плейсходел page.total при помощи Фенома
Пытался выводить так:
{$_modx->getPlaceholder('page.total')}
и так:{'page.total' | placeholder}
и так:
{$_modx->getPlaceholder('!page.total')}
И так:{'!page.total' | placeholder}
Собственно никак не хочет!А вот так:
[[!+page.total]]
В легкую!
При этом вот это:
{'page.nav' | placeholder}
Работает как за милу душу!Подскажите в чем может быть беда!
UPD!
В общем я балбес…
РЕШЕНО!
Нужно было всего то поместить вызов плейсхолдера после вызова самого сниппета а мне нужно было расположить до!
В общем запихнул всю работу сниппета в переменную и вызвал плейсхолдел TOTAL раньше чем плейсхолдер работы самого сниппета!
За наводку спасибо комментарию (Василия Наумкина, который я нашел случайно и догадался что я что то делаю не так):
Комментарий Василия.
Комментарии: 15
Так пробовал?
А вообще, покажи полностью шаблон, что выводишь.
{$total = $_modx->getPlaceholder('page.total')}
А вообще, покажи полностью шаблон, что выводишь.
тю, так какая разника как вывожу, он нигде не работает :D
Протестил на другом проекте, так же!
Собственно вот так вывожу сниппет:
Протестил на другом проекте, так же!
Собственно вот так вывожу сниппет:
{$_modx->runSnippet('!pdoPage', [
'class' => 'Ticket',
'element' => 'getTickets',
'parents' => 21,
'showUnpublished' => 1,
'nestedChunkPrefix' => 'tickets_',
'includeContent' => 1,
'where' => [
'published' => 0,
'moderation' => 2,
'createdby' => 'user.id' | placeholder,
] | json_encode,
'limit' => 10,
'includeTVs' => 'rid,moderation,dat,rname,city',
'tvPrefix' => '' ,
'prepareTVs' => 1 ,
'processTVs' => 1 ,
'ajaxMode' => 'button' ,
'tpl' => 'rid.feedback.tpl' ,
])?: '<div class="alert alert-warning" role="alert">
<strong>Пусто!</strong> Пока отзывов об этом ресторане нет!
</div>'}
П.С.{$total = $_modx->getPlaceholder('page.total')}
Тоже не работает!
А почему не подходит вариант как [[!+page.total]]?
Доброго времени.
Ищу ответ на вопрос. Наткнулся на эту давнюю переписку.
Вопрос связан с [[!+page.total]]
У меня на странице есть три есть разных вывода pdoPage — выводят результаты из разных родителей.
И мне нужно для каждого вывода pdoPage вывести [[!+page.total]]
Соответственно, если пишу [[!+page.total]] под каждым выводом снипета pdoPage, то выводит одинаковый результат [[!+page.total]] под всеми тремя pdoPage.
Полагаю, что нужно как-то определить родителя для [[!+page.total]], но не могу понять, как это прописать.
Здорово, если сможете подсказать.
Ищу ответ на вопрос. Наткнулся на эту давнюю переписку.
Вопрос связан с [[!+page.total]]
У меня на странице есть три есть разных вывода pdoPage — выводят результаты из разных родителей.
И мне нужно для каждого вывода pdoPage вывести [[!+page.total]]
Соответственно, если пишу [[!+page.total]] под каждым выводом снипета pdoPage, то выводит одинаковый результат [[!+page.total]] под всеми тремя pdoPage.
Полагаю, что нужно как-то определить родителя для [[!+page.total]], но не могу понять, как это прописать.
Здорово, если сможете подсказать.
Спасибо. Читал вчера про этот параметр и не понял его сути. Теперь понял для чего такие параметры.
Ну, а вообще, как ниже предлагали:
{set $pdoPage = $_modx->runSnippet('!pdoPage', [...])}
в документации написано
Имя плейсхолдера для вывода количества страниц.- pageCount
это вывод количества страниц!
А мне нужен TOTAL — Имя плейсхолдера для сохранения общего количества результатов.
А мне нужен TOTAL — Имя плейсхолдера для сохранения общего количества результатов.
Я ж написал, что без фенома выводит! А через феном не хочет работать, вопрос почему и как исправить?
Помести сам вызов pdoPage в переменную и тогда будет выводится
Например?
(Пока я честно сказать смутно представляю как это должно работать)
Просто с учетом, что в официально документации есть:
(Пока я честно сказать смутно представляю как это должно работать)
Просто с учетом, что в официально документации есть:
{$_modx->runSnippet('!pdoPage@PropertySet', [
'parents' => 0,
'element' => 'pdoResources',
'where' => ['isfolder' => 1],
'showLog' => 1,
])}
{$_modx->getPlaceholder('page.total')}
{$_modx->getPlaceholder('page.nav')}
Я полагал, что лишних манипуляций быть не должно!
Вызов сниппета сохранить в переменную, но вызывать это в самом начале чанка/шаблона, а потом уже использовать getPlaceholder(), а потом вставлять в нужное место сам сниппет.
И выводишь где надо
А плейсхолдеры выводишь как обычно.
{set $pdoPage = $_modx->runSnippet('!pdoPage@PropertySet', [
'parents' => 0,
'element' => 'pdoResources',
'where' => ['isfolder' => 1],
'showLog' => 1,
])}
И выводишь где надо
{pdoPage}
А плейсхолдеры выводишь как обычно.
{$_modx->getPlaceholder('page.total')}
{$_modx->getPlaceholder('page.nav')}
Привет может это с этим связанно.
Начиная с версии [pdoTools] 2.11.0 — отключение выборки total по умолчанию
Начиная с версии [pdoTools] 2.11.0 — отключение выборки total по умолчанию
В новой версии добавлена опция setTotal прямо в класс pdoFetch, и она отключена по умолчанию.
То есть, теперь все выборки pdoTools не делают эту ненужную работу. Но, так как плейхолдер [[+total]] необходим для постраничной навигации, сниппет pdoPage включает его всегда. При вызове любого сниппета через pdoPage, этот плейхолдер будет выставлен.
Я очень надеюсь, что вы не заметите никаких проблем при обновлении сайта, но теоретически они могут быть, если этот плейсхолдер вам нужен не для пагинации, а для чего-то еще.
Если так, то просто включите его:
[[!pdoResources?
&parents=`0`
&…
&setTotal=`1`
]]
Василий Наумкин
та я уже решил!
надо было всего то расположить вызов сниппета до того, как я вызываю прейсхолдер
надо было всего то расположить вызов сниппета до того, как я вызываю прейсхолдер
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.