| Модератор форума: Yuri_G |
| Сообщество uCoz Мастерская uCoz Дизайн: управление шаблонами Условные операторы и системные коды (Особенности использования и интересные решения) |
| Условные операторы и системные коды |
|
Условные операторы от новичка до профи
Если вы совершенно не понимаете, как работают условные операторы, и информации в панели управления для вас мало, то я попробую вам объяснить. Самое главное, чтобы вы настроились на то, что это очень просто. Так оно и есть! И так, начну с понятий. Условные операторы - это специальные коды-символы, которые могут выполнять какие-то сценарии. Вы можете создать совершенно новую опцию на своём сайте, которая собственно не предусмотрена панелью. Для начала нужно понять и привыкнуть к составляющим частям самого кода сценария, а это: Код <?if($код$)?> - это какое-то условие (код), которое говорит оператору с кем мы имеем дело и с чем работать. Заменяем мысленно фразой «Если есть»; Код <?else?>- это оператор которое выполнит то, что вы скажете, когда условие не соответствует названным. Мысленно заменяем фразой «Если нет»; Код <?endif?> - это конец условного оператора, мысленно заменяем «Конец»; Теперь разберем простой пример, который приводится в панели управления: (Из редактора страниц) Код <?if($USER_LOGGED_IN$)?>Hello, $USERNAME$<?else?>You are GUEST. Please register.<?endif?> Что это на нашем языке написано: «Если есть авторизированный пользователь, то «Привет его логину!», а если нет, «Привет Гостю!» и конец.» Почему? Откуда? Подробней! Что в данном коде использовалось: Мы оператору Код <?if($код$)?> Код $USER_LOGGED_IN$ Код <?if($USER_LOGGED_IN$)?> Получаем Код <?if($USER_LOGGED_IN$)?> Привет, $USERNAME$ <?else?> Привет Гость! Осталось закрыть всё это дело концовкой. Код <?if($USER_LOGGED_IN$)?> Привет, $USERNAME$<?else?>Привет Гость! <?endif?> Мы так же можем исключить Гостей совершенно и вывести информацию только зарегистрированным. Для этого просто не используем «Если нет». Получаем следующее: Код <?if($USER_LOGGED_IN$)?> Как хорошо, что вы зарегистрировались! <?endif?> То есть в данном случае фразу «Как хорошо, что вы зарегистрировались!» видят только те, кто вошёл под логином. Условием для работы операторов может быть любой код, который указан как работающий в каком-то модуле. В нашем случае (редактор страниц) могут примеры: Выход и вход: Код <?if($USER_LOGGED_IN$)?> <a href="$LOGOUT_LINK$">ВЫХОД</a> <?else?> <a href="$LOGIN_LINK$">ВХОД</a> <?endif?> Дни после регистрации: Код <?if($USER_LOGGED_IN$)?>Вы с нами уже$USER_REG_DAYS$ дней!<?else?>Пожалуйста, зарегистрируйтесь. <?endif?> И так далее. Условия для сценария можно изменить с помощью дополнительных возможностей, которые поддерживают операторы. Это знаки «=», «>», «<». При необходимости, приравненные разделяются вертикальной чертой. После знака, вы сообщаете оператору на кого направлен весь сценарий. Код <?if($код$='условие')?> Я это вижу <?else?> А вот я вижу это<?endif?> Или Код <?if($код$='условие')?> Самое главное, что я это вижу <?endif?> Пример: Код <?if($USER$='Дима')?> Дима, не забудь каждый день читать почту. <?endif?> То есть, на словах «Если есть логины вошедших и среди них есть Дима (='Дима'), то ему показать это…» То же самое касается групп, имён, пола, даты и всего что работает из кодов. Ещё примеры: Код <?if($USER$='Mike' or $USER$='Lola')?> Дима и Света, вот тайная ссылочка …. <?endif?> Группы: Код <?if($GROUP_ID$=3 or $GROUP_ID$=4)?>Модеры и Админы, все кликаем на рекламу тут… <?endif?> И т.д. Однако операторы могут работать друг в друге. Пример: Код <?if($USER_LOGGED_IN$)?> Привет $USER$! <?if($GROUP_ID$=3 || $GROUP_ID$=4)?> Не забываем кликать на рекламу!<?endif?><?else?>Пожалуйста, зарегистрируйтесь.<?endif?> Сценарий такой: «Если есть вошедшие, то Привет им, а если среди них есть Админы и Модеры, то добавить Кликаем на рекламу, если есть то кто не вошел, то просим зарегистрироваться и конец.» Самое главное хорошо подумать, как написать сценарий, какие для этого использовать коды и кому они будут направляться. Можно написать что угодно, что придет на ум. uCoz настолько гибкий, что мне иногда кажется, что он живой и создатели сами точно не знают сколько и чего будет работать. Ну всё есть! Самое главное подумайте. Теперь напоследок мини-инфо: Код * Сколько <?if($код$)?> столько и <?endif?> * <?else?> нужно, когда выводим инфу для тех, кто не соответствует условиям, в других случаях оно не нужно * Поддерживаются альтернативные условия or и and (||и [&&) * Поддерживается вложенность операторов * Поддерживается сравнение переменных друг с другом: <?if($VAR1$=$VAR2$)?> * При сравнении текст обязательно должен быть в кавычках: <?if($USER$='Mike') ?> Вопрос - ответ Цитата При создании новых страниц, закачанных через FTР, коды Код $SITE_NAME$, $LOGIN_LINK$, $LOGOUT_LINK$ Цитата Как сделать альтернативные условия, например для кода Код $GROUP_ID$ Код <?if($GROUP_ID$=5 or ($GROUP_ID$=4 and $USER$='Alex'))?>...<?endif?> Цитата Есть ли операторы, позволяющие пользователю видеть в списке категорий только те, в которые он имеет доступ? Цитата Код $GROUP_ID$ Цитата Есть код Код $USER_LOGGED_IN$ Код <?if(!$USER_LOGGED_IN$)?> |
|
Через $MODULE_ID$='модуль'
Добавлено (01-Апр-2012, 23:52:00) |
|
3dmaksik,
Quote (3dmaksik) Подскажите пожалуйста где можно узнать системные коды полей каталога файлов такие как Название материала,Описание и тд Все системные операторы, работающие в шаблоне, выводятся сразу после кода шаблона. Это в ПУ » Управление дизайном - открываете нужный вам шаблон и смотрите. Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
|
Quote (Ministr) зайдите в панель управления, сверху меню Дизайн, в нем Управление дизайном(Шаблоны), далее Каталог файлов - смотрите страницы которые вам нужны, под кодом страницы есть описание системных кодов. это я нашёл только теперь не знаю как привязать к определённому формату файлов чтобы при определённой ссылке с определённым формате нельзя было заполнить другое поле |
|
3dmaksik,
Quote (3dmaksik) это я нашёл только теперь не знаю как привязать к определённому формату файлов чтобы при определённой ссылке с определённым формате нельзя было заполнить другое поле Либо вы поясните по человечески, что вы под этим подразумеваете, либо вы очень долго будете ждать ответа (флуд не считается ответом). ... Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
|
Quote (fflesh) Либо вы поясните по человечески, что вы под этим подразумеваете, либо вы очень долго будете ждать ответа хорошо есть в каталоге файлов есть для добавления поле "Ссылка для скачивания архива с другого сервера" и есть поле "Web-site автора материала" как сделать проверку формата в поле "Ссылка для скачивания архива с другого сервера" чтобы была возможность писать в поле "Web-site автора материала" или выдаст ошибку |
|
3dmaksik,
Quote (3dmaksik) как сделать проверку формата в поле "Ссылка для скачивания архива с другого сервера" чтобы была возможность писать в поле "Web-site автора материала" или выдаст ошибку У, такое только скриптом. Системой подобная проверка не предусмотрена. ... Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
|
Здравствуйте. Я ничего не понимаю в программировании, поэтому хочу спросить, есть ли какие-то рекомендации по правильной записи условных кодов.
Допустимо ли коды использовать так: Code <a title="gs - <?if($код$)?>kjhdskhd<?endif?><?if($код$)?>134124<?endif?>"></a> или так: Code <di<?if($код$)?>v></div><?endif?>v></div> Эти коды обрабатывает браузер или все происходит на серверах, и изначально весь html воспринимается как обычный текст, поэтому допустимо все? Может я сказал тупость по не знаю. |
|
_dark13f_,
Quote (_dark13f_) Допустимо ли коды использовать так: Да, допустимо. Quote (_dark13f_) Эти коды обрабатывает браузер или все происходит на серверах, и изначально весь html воспринимается как обычный текст, Эти коды обрабатывает сервер. Браузер клиента получает уже готовый результат обработки кодов. ... Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
|
Quote (_dark13f_) есть ли какие-то рекомендации по правильной записи условных кодов Есть: всегда думать головой что произойдет при выполненном условии и при невыполненном (в смысле конечный html). Quote (_dark13f_) Эти коды обрабатывает браузер или все происходит на серверах, и изначально весь html воспринимается как обычный текст, поэтому допустимо все? Может я сказал тупость по не знаю. Коды $...$ обрабатываются сервером и отдаются в браузер текстом вместе с остальной разметкой. Любые работы по:
- Javascript, jQuery, HTML, CSS - Верстке макетов и установке их на сайты - Нестандартным решениям |
|
Quote (_dark13f_) Допустимо ли коды использовать так: Обработка этих кодов происходит на сервере, но браузер должен получить корректный код. Рекомендации, как и везде, - читать справку, использовать логику (есть моменты где и знания математики пригодятся), закрывать парные коды. |
|
Добрый день! Подскажите как правильно сделать этот код, для вывода в определенное время соответсвующих надписей:
Code <?if($HOUR$>0||$HOUR$<5)?>Доброй ночи<?else?><?if($HOUR$>17||$HOUR$<23)?>Добрый вечер<?else?> <?if($HOUR$>8||$HOUR$<17)?> Добрый день <?else?>Доброе утро<?endif?><?endif?><?endif?> -Уже разобрался надо было вместо || написать and тогда работает. Живем только в это мгновенье, все остальное мечты и воспоминания.
Сообщение отредактировал admin3880 - Среда, 04 Апр 2012, 12:41:50
|
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!

Чат сообщества







