Почему не выводиться значение плейсхолдера ?

Здравствуйте, подскажите пожалуйста, я немного изменил исходник сниппета msGallery, что бы он выводил кол-во картинок в галереи для каждого товара и назвал его «msGalleryMain»
Вот что я добавил:
array_shift($files);
foreach($files as $key => $value) {
        $output[] = $pdoFetch->getChunk($tpl, array(
            'urlImg' => $value["medium"],
            'Id' => $IdItem,
        ));
}
$countElem = count($output);
$modx->setPlaceholder('PlcCoutGallery',$countElem);
$output = implode("\n",$output);
return $output;
А в самом чанке вот как происходит вызов данного сниппета, чанк называется — tpl.msProducts.row2:
<div class="galleryBlock">
            [[!msGalleryMain?
                &tpl=`tplImagesGroup`
                &product = {$id}
                &IdItem = {$id}
            ]]
        </div>
        <div class="iconinfo">
            [[+PlcCoutGallery]]
        </div>
И собственно всё хорошо, получаю html разметку картинок галереи с помощью чанка tplImagesGroup а потом через плейсхолдер [[+PlcCoutGallery]] выводиться кол-во картинок. Перезагружаю страницу и вижу что кол-во картинок выводиться, прикрепил скриншот 1. Но теперь если я с помощью ajax-а выбираю опять же категорию «Плитка», что приводит к тому что все те же товары я снова получаю но только уже через ajax теперь.
Вот код php который выполняется по средствам ajax:
<?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 */
$param = array(
	"tpl" => "tpl.msProducts.row2",
	"parents" => $_POST["Id"],
	"depth" => "0",
	"includeThumbs" => "medium",
	"sortby" => "pagetitle",
	"sortdir" => "ASC",
	"limit" => "8"
);
$output = $modx->runSnippet('msProducts',$param);
$modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), 10);
$modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), 10);
if(empty($output)) {
	echo "-1";
}
else {
	echo $output;
}

То в плейсхолдере где была 2-ка изначально теперь 0 скриншот 2. Но вот интересный момент что если в сниппете здесь вот записать что то типа такого $modx->setPlaceholder('PlcCoutGallery',«qwe»);
то будет все время выводиться qwe и даже после ajax. А почему вот после ajax не выводиться кол-во элементов не понимаю, просто вот если выводить вот так «echo $countElem» то выводиться кол-во и после ajax даже. Подскажите пожалуйста почему не выводиться кол-во элементов через плейсхолдер поле ajax.
Заранее благодарю за ответ
Сергей Хлопов
23 июня 2018, 18:51
modx.pro
683
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0