Проблема, с которой вы сталкиваетесь, связана с тем, как MODX обрабатывает вызовы чанков и ресурсов с использованием pdoResources.
Когда вы вызываете чанк из другого чанка, который был вызван с помощью pdoResources, MODX использует один и тот же экземпляр объекта pdoResources для обработки обоих вызовов. В результате, если у вас есть несколько вызовов чанков, которые используют pdoResources, они могут возвращать одни и те же данные, так как они используют один и тот же экземпляр pdoResources.
Чтобы исправить эту проблему, вам необходимо создать новый экземпляр объекта pdoResources для каждого вызова чанка. Это можно сделать, используя метод $modx->newQuery('pdoResources') перед каждым вызовом чанка.
Например, если у вас есть вызов чанка внутри другого вызова чанка, который использует pdoResources, вы можете исправить код следующим образом:
<?php // Вызов первого чанка $tpl = 'firstChunk.tpl'; $firstChunk = $modx->getChunk($tpl); // Создание нового экземпляра pdoResources $pdoResources = $modx->newQuery('pdoResources'); // Вызов второго чанка с использованием pdoResources $tpl = 'secondChunk.tpl'; $secondChunk = $modx->getChunk($tpl, [], 'pdoResources'); // Вывод результатов $output = $firstChunk . $secondChunk; echo $output; ?>
Этот код создает новый экземпляр pdoResources перед вызовом второго чанка и гарантирует, что данные, возвращаемые из второго чанка, будут отличаться от данных, возвращаемых из первого чанка.
Надеюсь, что это поможет вам решить проблему с выводом одних и тех же данных при вызове чанка из чанка, который был вызван с помощью pdoResources.