Сергей Хлопов

Сергей Хлопов

Был в сети 11 ноября 2020, 19:36
Заказы не принимаю
$count = 0;
$output = $modx->getIterator('msProduct',array("parent" => 5)); //Тут id вашей категории
foreach ($output as $resource) {
	if($resource->getTVValue('flagImagesYandex') == '1') $count++;
}
return $count;
Вот попробуйте этот код, соответственно имя тв, значение и id категории вам нужно подставить своё
Благодарю Вас за ответ. Добавил, оно теперь услуги возвращает но пагинации нету.
<?php
/* include MODX_API BEGIN */
define('MODX_API_MODE', true);
require_once($_SERVER['DOCUMENT_ROOT'].'/index.php');
$modx=new modX();
$modx->initialize('web');
/* include MODX_API END */
$_SERVER['HTTP_X_REQUESTED_WITH'] = '';
$output = $modx->runSnippet('pdoPage',array(
							'class' => 'MainSeviceName',
							'tpl' => 'tpl.listServices',
							'element' => 'Getdb',
							'where' => '{"page":"'.$_POST['ID_serv'].'"}',
							'limit' => '1',
							'ajaxMode' => 'default',
							'sortby' => '{"id":"DESC"}'));
echo $output;
Проблема решена!
В общем вызов сниппета pdoPage необходимо обернуть в эти два блока:
<div id="pdopage">
        <div class="rows">
	
        </div>
    </div>
В моём случае правда это вот так происходит
т.к. я ещё результаты pdoPage передаю в собственно написанный сниппет для небольших манипуляций и соответственно саму пагинацию я тоже передаю в свой сниппет, и там уже склеиваю пагинацию и результаты после небольших манипуляций, склеиваю результаты и пагинацию вот так:
return "<div class='row'>".$param."</div>".$pagenat;
И вот всё полностью, вызов pdoPage вместе со своим сниппетом
[[!pdoPage?
        &limit=`6`
        &tpl=`tpl.msProducts.row2`
        &element=`msProducts`
        &parents=`0`
        &resources=`[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`]]`
        &sortby=`Data.vendor`
        &sortdir=`asc`
        &toPlaceholder=`ResultSearch`
        &includeThumbs=`medium`
        &pageNavVar=`pagNav`
        &ajaxMode=`button`
    ]]
    <div id="pdopage">
        <div class="rows">
        [[!placholderElement?
            &param=`[[+ResultSearch]]`
            &Id=`11`
            &ch=`all`
            &pagenat=`[[!+pagNav]]`
        ]]
        </div>
    </div>
Понял, благодарю Вас за ответ. А Вы не могли бы подсказать пожалуйста, вот как тогда лучше сделать. На сайте есть меню, и ниже этого меню фильтры, по умолчанию у нас в меню выбрана «плитка» и вот на скриншоте ниже самого меню, можно увидеть фильтры предназначены для раздела плитка.

Тут уже всё работает, так как вызвано в самом ресурсе уже.
Но так же вот есть другой пункт «Сантехника и мебель» у этого раздела должен быть фильтр по производителю только. И я вот думал сделать так, вот когда происходит нажатие на пункт меню «Сантехника и мебель» отправляется ajax запрос на сервер, сервер в свою очередь отвечает тем, что присылает фильтр и товары, и далее мы уже фильтруем. Подскажите пожалуйста, может лучше как то по другому тогда делать?