Почему при вызове чанка из чанка, который был вызван с помощью pdoResources, выводятся одни и те же данные? Как исправить?

Проблема, с которой вы сталкиваетесь, связана с тем, как 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.