Использование чанков в файлах при работе с Fenom Новый

Дополнение: pdoTools, Fenom

Здравствуйте! Подскажите, пожалуйста, как правильно указывать имена чанков-шаблонов при вызове сниппета через Fenom, если чанки расположены в файлах? Подобный вызов не работает. Что тут не так?
{$_modx->runSnippet('TaggerGetTags', [
    'contexts' => $_modx->context['key'],
     'resources' => $_modx->resource['id'],
    'rowTpl' => '@FILE chunks/tagger/tagger_row.tpl',
    'outTpl' => '@FILE chunks/tagger/tagger_out.tpl',
    'target' => $_modx->config['tags_page'],
])} 
Если чанки «tagger_row.tpl» и «tagger_out.tpl» созданы стандартным способом (хранятся в базе данных MODX), то в вызове сниппета просто указывается их имя. А как быть, если нужно эти чанки вынести в файлы?
15 сентября 2017, 14:47    Олег   
0    208 0

Комментарии (12)

  1. Сергей Шлоков 15 сентября 2017, 16:38 # 0
    А какая связь между сниппетом TaggerGetTags и pdoTools?
    1. Олег 15 сентября 2017, 17:00 # 0
      Вызов сниппета происходит через парсер pdoTools (синтаксис Fenom). Вопрос был по поводу передачи имени чанка в сниппет, в случае, когда чанк — это статический файл.
      1. Сергей Шлоков 15 сентября 2017, 17:06 # +1
        Я понял, что мой вопрос вы не поняли. С чего вдруг сниппет TaggerGetTags должен уметь загружать чанки, указанные с использованием синтаксиса pdoTools? Теперь понятно?
        1. Олег 15 сентября 2017, 17:15 # 0
          Может есть способ вместо имени чанка передать его уже обработанный парсером INLINE результат?
    2. man 15 сентября 2017, 16:52 # 0
      путь верный?
      1. Владимир 15 сентября 2017, 16:55 # 0
        Используйте pdoResources + loadModels=tagger + class=TaggerTag И тогда с феномом все нормально будет работать.
        itchief.ru/lessons/modx-revo/modx-tag-cloud
        1. Олег 15 сентября 2017, 17:06 # 0
          Данный вопрос касается не именно TaggerGetTags (он тут в качестве примера). Вопрос в том, как правильно передать в сниппет имя чанка, который является файлом на сервере и лежит в папке {core_path}/elements/chunks.
          Например, как вызвать сниппет Formitб чтобы ему в качестве шаблона для отправки письма указать статический чанк? Сниппетов, которые используют мелкие чанки в качестве шаблонов для вывода данных — очень много разных. Но как им передавать такие чанки в параметрах, используя синтаксис Fenom?

          «Используйте pdoResources + loadModels=tagger + class=TaggerTag» — это не относится к данному вопросу.
          1. Сергей Шлоков 15 сентября 2017, 17:10 # +2
            Но как им передавать такие чанки в параметрах, используя синтаксис Fenom?
            Никак. Метод $modx->getChunk(), который используют все эти сниппеты, не умеет работать с файловыми чанками и не понимает данный синтаксис. Это умеет делать только метод $pdoTools->getChunk().

            П.С. Ну и функция chunk() из библиотеки modHelpers.
            1. Олег 15 сентября 2017, 17:18 # 0
              Тоесть, во всех этих сниппетах надо подменить объект $modx на $pdoTools? я правильно понимаю?
              1. Сергей Шлоков 15 сентября 2017, 17:42 # +1
                До первого обновления.

                Можно сделать копию сниппета и в нем заменить метод.
                1. Олег 15 сентября 2017, 19:58 # +1
                  А как же тогда перевести систему на Fenom полностью? И чтобы вынести элементы в файлы (для редактирования через IDE)?
                  1. Василий Наумкин 16 сентября 2017, 02:16 # +2
                    Можно примерно так:

                    Если не понятно — это куча собственных файловых сниппетов, на все случаи жизни. MODX же у нас фреймворк, не так ли?
          Вы должны авторизоваться, чтобы оставлять комментарии.