Максим Кузнецов

Максим Кузнецов

Был в сети 04 августа 2021, 21:51
Заказы принимаю
Есть ли вероятность того, что у вас в контейнере с id=6 просто дочерних ресурсов не более 3х?)

В противном случае, попробуйте начать с минимального вызова, последовательно дополняя его вашими параметрами:
<div id="pdopage">
    [[!+page.nav]]
    <div class="rows">
        [[!pdoPage?
            &parents=`6`
            &ajaxMode=`button`
            &limit=`3`
        ]]
    </div>
</div>

Ну и версию pdoTools можно проверить, на случай, если загружена устаревшая версия.
… или вы перенесли чанки из assets в core и они перестали быть доступы?

Скорее всего, где-то проблема с путями. В любом случае рабочая последовательность такая:
1. Создаете папку elements в core
2. В системной настройке pdotools_elements_path указываете {core_path}elements/
3. Переносите/создаете внутри директории необходимые чанки. Допустим, создадим внутри elements директорию chunks и внутри нее файл item.tpl
4. Прописываете в сниппетах путь в таком виде:
// core/elements не нужен
'tpl' => '@FILE chunks/item.tpl'
5. Чистите кэш

После этих шагов, файловые чанки должны корректно перевариваться сниппетами pdo.
Для реализации страницы «профиля» у вас есть 2 варианта:

1. При помощи
собственной маршрутизации реализовать виртуальную страницу пользователя вида
/users/имя_пользователя, после чего в плагине на событие OnPageNotFound перехватывать имя пользователя и при совпадении с реальным пользователем — выводить информацию.
Таким способом реализованы страницы пользователей на этом сайте.

2. Плагином на событие OnUserActivate создавать полноценную страницу для пользователя, а на OnUserSave — синхронизировать данные.

В обоих случаях в чанке pdoUsers нужно будет сымитировать итоговую ссылку:
href="[[~2]]/[[+username}]]"
— где 2 = страница-контейнер для пользователей (users).
Потому что встроенный модификатор MODX'a преобразует дату из unix timestamp в выбранный формат, а в fenom'e во входящее значение принимаются как unix timestamp, так и форматы дат.

Посмотрите, что выдает [[+publishedon]] без модификаторов — скорее всего, у вас он по умолчанию возвращает дату, которую впоследствии не может переварить :date=``.
Насколько я помню, внутри дочерних ресурсов коллекции не получится нормально хранить внуков.

Возможно, можно попробовать упростить структуру, вынеся часть переменных в тв-поля (города, категории), но в таком случае иерархия будет менее разграничена и свалена в кучу.
Мне, честно говоря, кажется, что в таком случае вообще лучше пользоваться своей таблицей, а не плодить тысячи ресурсов. И в ней уже реализовать наиболее удобные связи.
А маршрутизацию и доступность по тому или иному URL'y реализовать через свою маршрутизацию из ссылки выше.
Лучше воспользоваться кастомной маршрутизацией на событие OnPageNotFound, в которой при соответствии ссылки определенному шаблону (site.ru/город_из_списка/рубрика).

C другой стороны, все упирается в то, насколько сильно отличается контент/заголовки внутренних страниц между собой — возможно, что создать руками в итоге окажется самым корректным решением.