Где правильнее вызвать сниппет - чанк или content?

Здравствуйте.
Недавно услышал рекомендацию, что лучше перенести вызов сниппетов в чанки.
Появилась у меня привычка сделать универсальный шаблон для вывода [*content*]. И уже делаю ресурсы с этим шаблон, внутри ресурса вызываю сниппеты. И всё работает.

Это правильно или не рекомендуется? Почему?
Anton
05 июля 2016, 19:47
modx.pro
2 498
0

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

Евгений
06 июля 2016, 06:41
0
Не знаю как с технической стороны правильнее, но нет ли страха, что менеджер или текстовый редактор что-нибудь сломают?
    Anton
    06 июля 2016, 13:34
    0
    Да нет страха, т.к. есть два правила для всех:
    1. Вошел в систему = сразу сделал бэкап.
    2. Трогай только те ресурсы, с которыми тебе сказали работать.
    Klike
    06 июля 2016, 07:51
    0
    Во-первых, содержимое ресурса выводится так:
    [[*content]]
    Во-вторых, почему бы не вызывать сниппеты в шаблоне по условиям? (Документация: https://docs.modx.pro/system/the-basics/filters-input-and-output#Условные-модификаторы-вывода)
      Павел Романов
      06 июля 2016, 11:50
      +1
      1. У человека Evolution — там именно [*content*]
      2. Для вывода по условиям нужно поставить PHx.
        Anton
        06 июля 2016, 13:29
        0
        Вообще интересует и Evolution, и Revolution. Работаю с обеими системами.
        Anton
        06 июля 2016, 13:30
        0
        Имеется в виду, что шаблон один на всех и в нем куча условий (вызовы чанков или сниппетов) в зависимости от номера id, например?
          Павел Романов
          06 июля 2016, 13:48
          2
          +2
          Да, только в Revo их лучше прописывать не так:
          [[*id:is=`15`:then=`[[$chunk]]`]]
          а так:
          [[$[[*id:is=`15`:then=`chunk`]]]]
          Это из-за того, что парсер сначала выполняет все чанки на странице, а потом только выводит нужные в соответствии с условиями.
          Во втором же варианте будут обработаны только текстовые строки и пустые [[$]], если условие не выполнено.

          Но если используете Fenom, то можно не извращаться, поскольку там парсер работает по-другому:
          {if $_modx->resource.id == 15}{$_modx->getChunk('chunk')}{/if}
        Павел Карелин
        06 июля 2016, 12:31
        0
        По сути парсеру по барабану где ты вызываешь сниппет, это больше нацеленно на удобочитаемость кода. Если я не ошибаюсь в evo могут возникать проблемы с вложенностью сниппетов. А сниппет в чанке вполне нормально. Если тебе удобно почему бы и нет?
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          8