Условный оператор или что-то типа того?
        Приветствую
Скажем есть набор скриптов и стилей, подключаемых в head. он в целом одинаков на всех страницах, за исключением того, что на главной присутствуют пару дополнительных.
Вопрос: в modx Revo можно как-то задать условие или что-то типа того «если эта главная страница, то подключать указанные скрипты, если нет, то нет»? Или как-то по другому можно это сделать, без необходимости плодить чанки и чтобы само подставлялось, а не нужно было выбирать каждый раз при создании страницы?
    
    
                                                                                
            Скажем есть набор скриптов и стилей, подключаемых в head. он в целом одинаков на всех страницах, за исключением того, что на главной присутствуют пару дополнительных.
Вопрос: в modx Revo можно как-то задать условие или что-то типа того «если эта главная страница, то подключать указанные скрипты, если нет, то нет»? Или как-то по другому можно это сделать, без необходимости плодить чанки и чтобы само подставлялось, а не нужно было выбирать каждый раз при создании страницы?
Комментарии: 8
[[*id:is=`1`:then=`
	<link rel="stylesheet" href="style.css">
`]]Или на Fenom{if $_modx->resource.id == 1}
	<link rel="stylesheet" href="style.css">
{/if}            
                спасибо)
а можете ткнуть, где можно прочитать про создание условий, подобных первому?
                    а можете ткнуть, где можно прочитать про создание условий, подобных первому?
                Или для конкретной страницы вызвать regClientCss            
                    
                почитал в инете
скажите, я правильно понял, что надо создать сниппет, в содержимом указать код вызова, и после этого вызывать сниппет в коде страницы (документа), а не в шаблоне? или как сделать чтобы вызывалась функция только для одной страницы?
                    скажите, я правильно понял, что надо создать сниппет, в содержимом указать код вызова, и после этого вызывать сниппет в коде страницы (документа), а не в шаблоне? или как сделать чтобы вызывалась функция только для одной страницы?
                Да по разному можно, можно через плагин например, уже в нем условия писать.
Можно в сниппете.
Можно через fenom прям со страницы.
Короче куча вариантов) нельзя сказать, что какой-то из них верный
                    Можно в сниппете.
Можно через fenom прям со страницы.
Короче куча вариантов) нельзя сказать, что какой-то из них верный
                В вашей задаче проще всего условие поставить в чанке/шаблоне как в первом комментарии вам написали. Для сниппета или плагина так же придется условие ставить.            
                    
                ModX IF создание условий
Скачиваем и устанавливаем пакет IF
Например, нам нужно что бы слайдер отображлся только на главной странице, с id=1, тогда вставляем в шаблон:
Еще например, нам надо что бы выводился ЗАГОЛОВОК, если РАСШИРЕННЫЙ ЗАГОЛОВОК пуст, тогда вписываем:
или
subject — самый важный параметр, его сравниваем
operator — каким образом сравниваем, по умолчанию =
operand — с чем сравниваем
then — что выводим, если верно
else — что выводим, если ложно
debug — выводим все обработанные параматры, если true
die — если этот и прошлый параметр true, то выполняется die() после вывода всех параметров
Операторы IF:
neq — не равно
eq — равно
lt — меньше
gt — больше
lte — меньше, либо равен
gte — больше, либо равен
isempty — выполняется если парамер пустой
notempty — если не пустой
null — если параметр имеет значение 0
inarray — Выполняется если Главный параметр находится в списке, перечисленном через запятую, в Операнде
                    Скачиваем и устанавливаем пакет 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 — Выполняется если Главный параметр находится в списке, перечисленном через запятую, в Операнде
                IF подтормаживает генерацию страничек, Fenom работает быстрее, я как раз сейчас занимаюсь переходом на Fenom            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.