Условный оператор или что-то типа того?

Приветствую

Скажем есть набор скриптов и стилей, подключаемых в head. он в целом одинаков на всех страницах, за исключением того, что на главной присутствуют пару дополнительных.

Вопрос: в modx Revo можно как-то задать условие или что-то типа того «если эта главная страница, то подключать указанные скрипты, если нет, то нет»? Или как-то по другому можно это сделать, без необходимости плодить чанки и чтобы само подставлялось, а не нужно было выбирать каждый раз при создании страницы?
Скаут
16 июня 2017, 10:29
modx.pro
7 043
0

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

Rootiys
16 июня 2017, 14:13
+2
[[*id:is=`1`:then=`
	<link rel="stylesheet" href="style.css">
`]]
Или на Fenom
{if $_modx->resource.id == 1}
	<link rel="stylesheet" href="style.css">
{/if}
    Скаут
    16 июня 2017, 15:08
    0
    спасибо)
    а можете ткнуть, где можно прочитать про создание условий, подобных первому?
    Наумов Алексей
    16 июня 2017, 14:33
    +2
    Или для конкретной страницы вызвать regClientCss
      Скаут
      16 июня 2017, 15:07
      0
      почитал в инете
      скажите, я правильно понял, что надо создать сниппет, в содержимом указать код вызова, и после этого вызывать сниппет в коде страницы (документа), а не в шаблоне? или как сделать чтобы вызывалась функция только для одной страницы?
        Наумов Алексей
        16 июня 2017, 16:05
        0
        Да по разному можно, можно через плагин например, уже в нем условия писать.
        Можно в сниппете.
        Можно через fenom прям со страницы.
        Короче куча вариантов) нельзя сказать, что какой-то из них верный
      Андрей
      16 июня 2017, 15:14
      0
      В вашей задаче проще всего условие поставить в чанке/шаблоне как в первом комментарии вам написали. Для сниппета или плагина так же придется условие ставить.
        Vadim
        16 июня 2017, 19:20
        +1
        ModX IF создание условий

        Скачиваем и устанавливаем пакет IF

        Например, нам нужно что бы слайдер отображлся только на главной странице, с id=1, тогда вставляем в шаблон:

        [[If?   &subject=`[[*id]]`   &operator=`EQ`   &operand=`1`   &then=`[[$slider]]`]]
        или через модификаторы
        [[*id:is=`[[++site_start]]`:then=`[[$slider]]`:else=``]]

        Еще например, нам надо что бы выводился ЗАГОЛОВОК, если РАСШИРЕННЫЙ ЗАГОЛОВОК пуст, тогда вписываем:
        [[If?   &subject=`[[*longtitle]]`   &operator=`notempty` &then=`[[*longtitle]]`&else=`[[*pagetitle]]`   ]]

        или
        [[*longtitle:is=``:then=`[[*pagetitle]]`:else=`[[*longtitle]]`]]
        Параметры IF для MODX REVO:

        subject — самый важный параметр, его сравниваем
        operator — каким образом сравниваем, по умолчанию =
        operand — с чем сравниваем
        then — что выводим, если верно
        else — что выводим, если ложно
        debug — выводим все обработанные параматры, если true
        die — если этот и прошлый параметр true, то выполняется die() после вывода всех параметров

        Операторы IF:

        neq — не равно
        eq — равно
        lt — меньше
        gt — больше
        lte — меньше, либо равен
        gte — больше, либо равен
        isempty — выполняется если парамер пустой
        notempty — если не пустой
        null — если параметр имеет значение 0
        inarray — Выполняется если Главный параметр находится в списке, перечисленном через запятую, в Операнде
          Roman
          14 февраля 2018, 11:09
          0
          IF подтормаживает генерацию страничек, Fenom работает быстрее, я как раз сейчас занимаюсь переходом на Fenom
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          8