| Модератор форума: 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$)?> |
|
Quote ты в каком HTML все это ставишь для компьютера, PDA шаблон? ты же можешь без условных операторов прописать в компьютерной версии HTML одно, а PDA HTML другое этот код я ставлю внутри $MESSAGE$ т.е. в обычной версии был добавлен материал с картинками и описаниями, сейчас я подгоняю PDA версию и хочу чтобы там не было картинок и кое какого текста, вот мне и нужно чтобы внутри $MESSAGE$ отредактировать это все дело... |
|
Quote (Оксана2622) Здраствуйте,возможно и был такой вопрос.Долго искала но что то не нашла именно того. Вопрос:Запретить на главной вывод одной или нескольких категорий каталога файлов,уж очень надо. Помогите пожалуйста а по моему вопросу не поможете |
|
Оксана2622, у главная станица модуль каталог файлов? или что? откуда на главной файлы? дайте адрес сайта...
Я не волшебник! Я только учусь =)
Мой Мир Аниме Моя студия веб-дизайна, обращайтесь, есть готовые варианты. |
|
|
|
Quote (ALROS) этот код я ставлю внутри $MESSAGE$ Как вариант, может быть можно сделать спец. категории и в мобильной версии не показывать категории для компьютерной версии, и наоборот. Но тогда придётся публиковать каждый материал в двух категориях, но с разным содержанием. Quote (Оксана2622) а по моему вопросу не поможете |
|
Quote Как вариант, может быть можно сделать спец. категории и в мобильной версии не показывать категории для компьютерной версии, и наоборот. Но тогда придётся публиковать каждый материал в двух категориях, но с разным содержанием. хороший вариант когда у тебя мало материала, а так как у меня их почти 500 уже, то это не выход. |
|
ALROS,
Вообще-то, для PDA есть свой шаблон, и мутить с оператором $USER_AGENT_PDA$ который работает через раз, и не очень понятно где и как именно (и какие версии мобильных поддерживает), считаю слегка бесполезным занятием. Если уж очень нужно, точнее всего определяется мобильник php скриптом, который и нужно использовать, и если зашли с мобильника отдавать/заменять стили, которые и будут скрывать картинки и все такое прочее. Кроме того, есть в стилях такое свойство как: Code @media handheld Или: Code screen and (max-width:480px) которое тоже можно приспособить под это дело. Но точнее всего скриптом. Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 Сообщение отредактировал fflesh - Среда, 16 Май 2012, 15:52:44
|
|
Quote я бы все картинки вынес бы из $MESSAGE$ и показывал бы с помощью системных кодов $IMG_URL1..10$ и заодно как раз бы прописал условие под PDA много материала уже накопилось, все переделывать не хочу... значить останется как и было всем спасибо! |
|
Quote (fflesh) если зашли с мобильника отдавать/заменять стили, которые и будут скрывать картинки и все такое прочее. |
|
Утюг, да файлы в каталоге файлов
Сайт:kinouser.ru надо запретить вывод одной категории в каталоге файлов вот вид материалов отрезок Code <span class="load_cat"><a href="$CATEGORY_URL$"> <?if($CID$="38" || $CID$="4" || $CID$="15" || $CID$="18" || $CID$="7" || $CID$="9" || $CID$="8" || $CID$="5" || $CID$="20" || $CID$="19" || $CID$="14" || $CID$="6" || $CID$="11" || $CID$="17" || $CID$="10" || $CID$="33" || $CID$="16" || $CID$="33" || $CID$="50" || $CID$="49" || $CID$="48" || $CID$="46" || $CID$="47" || $CID$="51")?> <?if($CID$="38")?><img src="http://kinouser.ru/cat/47.gif" border="0" alt="" /><?endif?> <?if($CID$="4")?><img src="http://kinouser.ru/cat/6.gif" border="0" alt="" /><?endif?> <?if($CID$="15")?><img src="http://kinouser.ru/cat/6.gif" border="0" alt="" /><?endif?> <?if($CID$="18")?><img src="http://kinouser.ru/cat/18.gif" border="0" alt="" /><?endif?> <?if($CID$="7")?><img src="http://kinouser.ru/cat/17.gif" border="0" alt="" /><?endif?> <?if($CID$="9")?><img src="http://kinouser.ru/cat/15.gif" border="0" alt="" /><?endif?> <?if($CID$="8")?><img src="http://kinouser.ru/cat/24.gif" border="0" alt="" /><?endif?> <?if($CID$="5")?><img src="http://kinouser.ru/cat/8.gif" border="0" alt="" /><?endif?> <?if($CID$="20")?><img src="http://kinouser.ru/cat/37.gif" border="0" alt="" /><?endif?> <?if($CID$="19")?><img src="http://kinouser.ru/cat/50.gif" border="0" alt="" /><?endif?> <?if($CID$="14")?><img src="http://kinouser.ru/cat/12.gif" border="0" alt="" /><?endif?> <?if($CID$="6")?><img src="http://kinouser.ru/cat/13.gif" border="0" alt="" /><?endif?> <?if($CID$="11")?><img src="http://kinouser.ru/cat/14.gif" border="0" alt="" /><?endif?> <?if($CID$="17")?><img src="http://kinouser.ru/cat/35.gif" border="0" alt="" /><?endif?> <?if($CID$="10")?><img src="http://kinouser.ru/cat/11.gif" border="0" alt="" /><?endif?> <?if($CID$="33")?><img src="http://kinouser.ru/cat/39.gif" border="0" alt="" /><?endif?> <?if($CID$="16")?><img src="http://kinouser.ru/cat/9.gif" border="0" alt="" /><?endif?> <?if($CID$="33")?><img src="http://kinouser.ru/cat/39.gif" border="0" alt="" /><?endif?> <?if($CID$="50")?><img src="http://kinouser.ru/cat/7.gif" border="0" alt="" /><?endif?> <?if($CID$="49")?><img src="http://kinouser.ru/cat/7.gif" border="0" alt="" /><?endif?> <?if($CID$="48")?><img src="http://kinouser.ru/cat/7.gif" border="0" alt="" /><?endif?> <?if($CID$="46")?><img src="http://kinouser.ru/cat/45.gif" border="0" alt="" /><?endif?> <?if($CID$="47")?><img src="http://kinouser.ru/cat/46.gif" border="0" alt="" /><?endif?> <?if($CID$="51")?><img src="http://kinouser.ru/cat/nev.gif" border="0" alt="" /><?if($GROUP_ID$='4'||$GROUP_ID$='3')?><?else?><?endif?><?endif?> <?endif?> </a></span> вот это надо запретить кроме админа вот сам пытался так не выходит Code <?if($CID$="51")?><img src="http://kinouser.ru/cat/nev.gif" border="0" alt="" /><?if($GROUP_ID$='4'||$GROUP_ID$='3')?><?else?><?endif?><?endif?> Спасибо если кто поможет Добавлено (16-Май-2012, 16:04:54) |
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!

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






