Не парсится вызов сниппета в чанке
Здравствуйте! Видимо, без совета опытных modx-разработчиков не обойтись. Подобная проблема обсуждалась, но ответ не найден: https://modx.pro/help/2158/.
Чтобы не рисковать некропостингом:
1)Со страницы документа передаю xhr-запрос к файлу с php-скриптом.
2)В ответе сервера содержится результат работы
Пожалуйста, подскажите, как можно распарсить вызов сниппета внутри чанка?
P.s.: В документах вызов сниппетов с этими параметрами отрабатывает без нареканий.
Спасибо!
Чтобы не рисковать некропостингом:
1)Со страницы документа передаю xhr-запрос к файлу с php-скриптом.
2)В ответе сервера содержится результат работы
$parameters = array
(
'element'=>'msProducts',
'tpl'=>'tpl.laminate.list',
'limit'=>'',
'includeTVs'=>'texture,chamfer,arrival,lowcost,medcost',
'prepareTVs'=>'1',
'processTVs'=>'1',
'tvPrefix'=>''
);
$result = $modx->runSnippet('pdoPage',$parameters);
3)В чанке «tpl.laminate.list» происходит вызов [[!msGallery?
&limit=`5`
&product=`[[+id]]`
&tplOuter=`tmpl.msGallery.outer`
&tplRow=`tmpl.msGallery.row`
]]
4)В результате на страничке получаю оформленный чанк tpl.laminate.list, в блоке галереи которого содержится необработанный вызов сниппета msGallery с проставленными id товаров.Пожалуйста, подскажите, как можно распарсить вызов сниппета внутри чанка?
P.s.: В документах вызов сниппетов с этими параметрами отрабатывает без нареканий.
Спасибо!
Комментарии: 2
$modx->getParser()->processElementTags('', $result, true);
Большое спасибо! Помогло.
P.s.: Сначала, не разобравшись со значением, возвращаемым методом processElementTags, попробовал вызвать следующим образом
Но потом изменил вызов на дословное
Еще раз большое спасибо!
P.s.: Сначала, не разобравшись со значением, возвращаемым методом processElementTags, попробовал вызвать следующим образом
$result = $modx->runSnippet('pdoPage',$parameters);
$parse= $modx->getParser()->processElementTags('', $result, true);
echo $parse;
На что получил сакральное «8» в качестве результата работы запроса. Прямо, как ответ на главный вопрос жизни:«42».Но потом изменил вызов на дословное
$result = $modx->runSnippet('pdoPage',$parameters);
$modx->getParser()->processElementTags('', $result, true);
что и стало решением.Еще раз большое спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.