Как НЕ ВЫВОДИТЬ разметку HTML при отсутствии результата pdoPage?
Существует некий код для вывода содержимого тикетов в зависимости от условия
<div id="sheetpage">
<div class="rows">
[[!pdoPage?
&element=`getTickets`
&tpl=`TicketPageMainMP`
&includeContent=`1`
&includeTVs=`tvrules`
&where=`{"tvrules:LIKE":"%mpPageMain[[*id]]mp%"}`
&parents=`0`
&ajaxMode=`button`
&pageVarKey=`sheet`
&sortdir=`ASC`
&pageNavVar=`sheet.nav`
&limit=`10`]]
</div>
[[!+sheet.nav ]]
</div>
Так вот, в случае ОТСУТСТВИЯ заметок на странице появляется код, который СДВИГАЕТ весь нижеследующий текст на две строки вниз. Существует ли возможность НЕ ВЫВОДИТЬ этот код (делать дополнительный запрос, еще какой вариант) при ОТСУТСТВИИ РЕЗУЛЬТАТА pdoPage?<div id="sheetpage">
<div class="rows">
</div>
</div>
Комментарии: 9
А если так?
<div id="sheetpage" [[+t_count:is=`0`:then=` style="display:none";`]]>
<div class="rows">
[[!pdoPage?
&element=`getTickets`
&tpl=`TicketPageMainMP`
&includeContent=`1`
&includeTVs=`tvrules`
&where=`{ "tvrules:LIKE":"%mpPageMain[[*id]]mp%" }`
&parents=`0`
&ajaxMode=`button`
&pageVarKey=`sheet`
&sortdir=`ASC`
&pageNavVar=`sheet.nav`
&limit=`10`
&setTotal=`1`
&totalVar=`t_count`
]]
</div>
[[!+sheet.nav ]]
</div>
Все равно выводится
<div id="sheetpage" >
<div class="rows">
</div>
<div class="pagination"><ul class="pagination"></ul></div>
</div>
Да, поэкспериментировал — там модификаторы в плейсхолдерах не работают.
Попробуйте так:
Сниппет showHide:
Попробуйте так:
[[!pdoPage?
&element=`getTickets`
&tpl=`TicketPageMainMP`
&includeContent=`1`
&includeTVs=`tvrules`
&where=`{ "tvrules:LIKE":"%mpPageMain[[*id]]mp%" }`
&parents=`0`
&ajaxMode=`button`
&pageVarKey=`sheet`
&sortdir=`ASC`
&pageNavVar=`sheet.nav`
&limit=`10`
&setTotal=`1`
&totalVar=`t_count`
&toPlaceholder=`result`
]]
<div id="sheetpage" [[!showHide? &pls=`t_count`]]>
<div class="rows">
[[+result]]
</div>
[[!+sheet.nav ]]
</div>
Сниппет showHide:
<?php
if($modx->getPlaceholder($pls) < 1) return 'style="display:none"';
ОГРОМНЕЙШЕЕ спасибо! Теперь я знаю всё :)
<div id="sheetpage" style="display:none">
<div class="rows">
</div>
<div class="pagination"><ul class="pagination"></ul></div>
</div>
Посмотрите параметр tplWrapper в документации
Документация крайне скудна… но я настойчив. Ну и пример простейшей реализации крайне бы помог
[[!pdoPage?
&element=`getTickets`
&tpl=`TicketPageMainMP`
&includeContent=`1`
&includeTVs=`tvrules`
&where=`{ "tvrules:LIKE":"%mpPageMain[[*id]]mp%" }`
&parents=`0`
&ajaxMode=`button`
&pageVarKey=`sheet`
&sortdir=`ASC`
&pageNavVar=`sheet.nav`
&limit=`10`
&setTotal=`1`
&totalVar=`t_count`
&tplWrapper=`@INLINE <div id="sheetpage" >
<div class="rows">
[[+output]]
</div>
[[!+sheet.nav]]
</div>`
]]
Спасибо!
Теперь понятно, что значит:
Теперь понятно, что значит:
"tplWrapper - Чанк-обёртка, для заворачивания всех результатов. Понимает один плейсхолдер: [[+output]]"
В который раз убеждаюсь — на modx.pro самое дружественное комьюнити
Вы ещё Битрикс комьюнити не видели)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.