Компактная версия
Как НЕ ВЫВОДИТЬ разметку HTML при отсутствии результата pdoPage?
Если вызов pdoPage единственный на странице, то проще всего использовать параметр 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>`
]]
Еще, как вариант (и в случае, если вызовов pdoPage больше одного, то вывод будет идти во ВСЕ плейсхолдеры output, что НЕДОПУСТИМО) - использование сниппета для вставки нужного кода в зависимости от условия - обязательно меняйте плейсхолдер result для каждого вызова pdoPage на странице:
[[!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"';