Использование чанков в файлах при работе с 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, 11:47
modx.pro
3 981
0

Комментарии: 12

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

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

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

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

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