| Модератор форума: 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$)?> |
|
Romchik_Ya,
Код <?if($RELATED_ENTRIES$)?>Похожие материалы<?endif?> Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
|
leonoff(on), я так уже пробовал. Тогда, похожие материалы совсем не отображаются, никакие, даже если они есть.
|
|
Romchik_Ya, прошу прощения, поторопился
Код <?if($RELATED_ENTRIES$!='0')?>Похожие материалы<?endif?> Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
|
Добро пожаловать друзья! К нам
Казахстанский http://images.idhost.kz/ - Сервис хранения изображений Зарубежный http://images-img.16mb.com/ - Сервис хранения изображений Зарубежный http://youvi.16mb.com/ Видеохостинг |
|
может где упустил... не могу составить условие, информер выводит поле $AUTHOR_SITE$, так вот хотел составить условие, при котором $AUTHOR_SITE$ будет только тот, где это поле заполнено (в некоторых материалах оно не заполнено)..
Заранее спасибо Сообщение отредактировал Estudio - Воскресенье, 22 Мар 2015, 19:06:10
|
|
|
|
Прикрепления:
6867476.jpg
(51.8 Kb)
Сообщение отредактировал Nikas_Fix - Среда, 25 Мар 2015, 20:48:40
|
|
Добрый день. Извините, если повторяюсь.
Не получается отрегулировать вывод/скрытие информации на страницах материалов определенных категорий. Например, в материалах категории "Футажи" под видео (модуль видео) хочу сделать ссылку на статью об их использовании. В категории "Стили", на другую соответствующую статью. Код баннера в шапке. Вот, как делаю: Код <?if($CID=15$)?><br><a href="/publ/55-1-0-489">Как использовать футажи в слайд-шоу из фотогафий</a><?endif?> Похожая ситуация и со скрытием данных. В каталоге статей на всех страницах категории "Музыка" (главная, категория, материал) хочу убрать рекламу гугла, поскольку музыка размещена без авторских прав, не хочу проблем с адсенсом. Вот, как делаю: Код <?if(!$CID=52$)?>скрипт адсенс...<?endif?> Сайт: http://slidshow.ru Сообщение отредактировал Eleazara - Пятница, 27 Мар 2015, 21:46:54
|
|
Eleazara, <?if($CID$='ID')?> — для страниц материалов и вида материалов, для категорий $URI_ID$
|
|
Здравствуйте!
На своем сайте btblady.com поставил слайдер. Пока что, только на главной. Есть вопрос, хочу сделать так, чтобы в слайдере инфа (популярные по просмотру материалы, делаю информерами) отображалась так: 1. На главной — все популярные. 2. На станице категории "Дом и уют" (nwCat1) — популярные в этой категории 3. На станице категории "Здоровье и красота" (nwCat2) — популярные в этой категории ну и так далее, всего для шести категорий и главная. Выходит, что нужно 7 информеров. Ну да ладно, вопрос не в том. Интересует как это реализовать с помощью уловных операторов? Сейчас у меня стоит так: Добавлено (28 Мар 2015, 11:10:52) --------------------------------------------- Так будет правильно? Код <?if($URI_ID$='page1')?>слайдер с информером для главной<?endif?> <?if($URI_ID$='nwCat1')?>слайдер с информером для категории 1<?endif?> <?if($URI_ID$='nwCat2')?>слайдер с информером для категории 2<?endif?> <?if($URI_ID$='nwCat3')?>слайдер с информером для категории 3<?endif?> <?if($URI_ID$='nwCat4')?>слайдер с информером для категории 4<?endif?> <?if($URI_ID$='nwCat5')?>слайдер с информером для категории 5<?endif?> <?if($URI_ID$='nwCat6')?>слайдер с информером для категории 6<?else?> И наконец, здесь рекламный блок для всех остальных страниц<?endif?> Сообщение отредактировал nomid - Суббота, 28 Мар 2015, 11:27:36
|
|
Здравствуйте.
Подскажите пожалуйста как мне фон и оформление модуля "Доска объявлений" сделать такое же как и "Главная страница" сайта? Я имею ввиду фон, цвета и даже шапка. Вот мой сайт: http://auyk.ru/ А вот модуль что я активировал: http://auyk.ru/board Как видите стандартный не красивый шаблон. Все перепробовал, но так и не смог сделать. Нужно сделать просто оформление как на гл.странице без вреда для менюшек и необходимых пунктов в данном моде. Заранее спасибо! |
|
А вот модуль что я активировал: http://auyk.ru/board Насколько мне известно, нужно делать все наоборот: сначала активировать модули (даже не нужные), и, только потом изменять дизайн страниц. В вашем случае, для доски объявлений автоматически "подтянулся" стандартный шаблон оформления, который вы использовали. Теперь, вам нужно отдельно изменять его в соответствии с вашими желаниями в ПУ - Управление дизайном - Доска объявлений. Здесь, изменять все что вам необходимо. P.S. И как-то не в тему к условным операторам. Добавлено (28 Мар 2015, 14:25:13) Так будет правильно? <?if($URI_ID$='page1')?>слайдер с информером для главной<?endif?> <?if($URI_ID$='nwCat1')?>слайдер с информером для категории 1<?endif?> <?if($URI_ID$='nwCat2')?>слайдер с информером для категории 2<?endif?> <?if($URI_ID$='nwCat3')?>слайдер с информером для категории 3<?endif?> <?if($URI_ID$='nwCat4')?>слайдер с информером для категории 4<?endif?> <?if($URI_ID$='nwCat5')?>слайдер с информером для категории 5<?endif?> <?if($URI_ID$='nwCat6')?>слайдер с информером для категории 6<?else?> И наконец, здесь рекламный блок для всех остальных страниц<?endif?> или так лучше? Цитата <?if($URI_ID$='nwCat1')?><div>слайдер с информером для категории 1</div><?endif?> <?if($URI_ID$='nwCat2')?><div>слайдер с информером для категории 2</div><?endif?> <?if($URI_ID$='nwCat3')?><div>слайдер с информером для категории 3</div><?endif?> <?if($URI_ID$='nwCat4')?><div>слайдер с информером для категории 4</div><?endif?> <?if($URI_ID$='nwCat5')?><div>слайдер с информером для категории 5</div><?endif?> <?if($URI_ID$='nwCat6')?><div>слайдер с информером для категории 6</div><?endif?> <?ifnot($URI_ID$='nwCat1')?><div>рекламный блок для остальных страниц</div><?endif?> <?ifnot($URI_ID$='nwCat2')?><div>рекламный блок для остальных страниц</div><?endif?> <?ifnot($URI_ID$='nwCat3')?><div>рекламный блок для остальных страниц</div><?endif?> <?ifnot($URI_ID$='nwCat4')?><div>рекламный блок для остальных страниц</div><?endif?> <?ifnot($URI_ID$='nwCat5')?><div>рекламный блок для остальных страниц</div><?endif?> <?ifnot($URI_ID$='nwCat6')?><div>рекламный блок для остальных страниц</div><?endif?> Хоть кто-то поможет? ![]() |
|
<?if($URI_ID$='page1')?>слайдер с информером для главной<?endif?><?if($URI_ID$='nwCat1')?>слайдер с информером для категории 1<?endif?> <?if($URI_ID$='nwCat2')?>слайдер с информером для категории 2<?endif?> <?if($URI_ID$='nwCat3')?>слайдер с информером для категории 3<?endif?> <?if($URI_ID$='nwCat4')?>слайдер с информером для категории 4<?endif?> <?if($URI_ID$='nwCat5')?>слайдер с информером для категории 5<?endif?> <?if($URI_ID$='nwCat6')?>слайдер с информером для категории 6<?else?> И наконец, здесь рекламный блок для всех остальных страниц<?endif?> Текст "И наконец, здесь рекламный блок для всех остальных страниц" будет выведен на всех категориях, кроме шестой вместе со слайдерами выше. Код <?if($URI_ID$='page1')?>слайдер с информером для главной<?endif?> <?if($URI_ID$='nwCat1')?>слайдер с информером для категории 1<?endif?> <?if($URI_ID$='nwCat2')?>слайдер с информером для категории 2<?endif?> <?if($URI_ID$='nwCat3')?>слайдер с информером для категории 3<?endif?> <?if($URI_ID$='nwCat4')?>слайдер с информером для категории 4<?endif?> <?if($URI_ID$='nwCat5')?>слайдер с информером для категории 5<?endif?> <?if($URI_ID$='nwCat6')?>слайдер с информером для категории 6<?endif?> <?ifnot(($URI_ID$='page1') or ($URI_ID$='nwCat1') or ($URI_ID$='nwCat2') or ($URI_ID$='nwCat3') or ($URI_ID$='nwCat4') or ($URI_ID$='nwCat5') or ($URI_ID$='nwCat6'))?>И наконец, здесь рекламный блок для всех остальных страниц<?endif?> |
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!

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









