| Модератор форума: 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$)?> |
|
Здравствуйте, столкнулся с такой проблемой:
В материалах каталога файлов я прицепил кнопку "Спасибо". При нажатии на нее рейтинг увеличивается. Но я хотел бы чтобы нажать на нее могли все, кроме того кто добавил материал, код Code <?if(!$USER$)='$USERNAME$'?>...<?endif?> не работает. Вернее работает на половину, кнопка "Спасибо", отображается все равно... Подскажите, как реализовать выше описанное? |
|
SashaG,
Code <?if($USER$!=$USERNAME$)?><?endif?> Консультация по системе uCoz - разработка скриптов, настройка сайта.
|
|
Я прописал:
Quote <td width="80%"><a href="$HOME_PAGE_LINK$"><!--<s5176>-->Главная<!--</s>--></a> » <a href="$MODULE_URL$"><!--<s5208>-->Статьи<!--</s>--></a> » $CAT_NAME$</td> <td align="right" style="white-space: nowrap;"><?if($ADD_ENTRY_LINK$)?>[ <a href="$ADD_ENTRY_LINK$"><!--<s5202>-->Добавить статью<!--</s>--></a> ]<?endif?></td> <?if($NO_CATEGORIES$)?><hr />$CATEGORIES$<?endif?> То, что выделено красным, я так понял должно убрать категорию, но нет, она все равно есть. Прописал я в: "ПУ->"Каталог статей" -> "Страница со списком метриалов категории" (там, где мне и надо) Страница: http://depositcash.ru/publ/s_vlozhenijami/1 Как видите, категория все равно есть... что я делаю не так? Добавлено (26-Июл-2012, 20:32:38) Quote <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>$CAT_NAME$ <?if($SECTION_NAME$)?>- $SECTION_NAME$<?endif?> - $MODULE_NAME$ - $SITE_NAME$</title> <?$META_DESCRIPTION$?> <link href="/.s/src/css/798.css" rel="stylesheet" type="text/css" /> </head> <body> $ADMIN_BAR$ <div id="all"> <div id="top-stripe"></div> $GLOBAL_AHEADER$ <div style="height: 5px; margin: auto; overflow: hidden;"></div> <div id="content"> <div id=content-top></div> <div id="content-mid"> <div id="maincol"> <!-- <middle> --> <!-- <body> --><table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="80%"><a href="$HOME_PAGE_LINK$"><!--<s5176>-->Главная<!--</s>--></a> » <a href="$MODULE_URL$"><!--<s5208>-->Статьи<!--</s>--></a> » $CAT_NAME$</td> <td align="right" style="white-space: nowrap;"><?if($ADD_ENTRY_LINK$)?>[ <a href="$ADD_ENTRY_LINK$"><!--<s5202>-->Добавить статью<!--</s>--></a> ]<?endif?></td> <?if($NO_CATEGORIES$)?><hr />$CATEGORIES$<?endif?> </tr> </table> <hr /> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="60%"><!--<s5222>-->В категории материалов<!--</s>-->: <b>$NUM_ENTRIES$</b><?if($NUM_SHOWN$)?><br /><!--<s5220>-->Показано материалов<!--</s>-->: <b>$NUM_SHOWN$</b><?endif?></td> <td align="right"><?if($PAGE_SELECTOR$)?><!--<s3015>-->Страницы<!--</s>-->: $PAGE_SELECTOR$<?endif?></td> </tr> </table> <hr /> <?if($SORTING_MENU$)?><!--<s5221>-->Сортировать по<!--</s>-->: $SORTING_MENU$<hr /><?endif?> $BODY$ <?if($PAGE_SELECTOR1$)?><div style="text-align:center;">$PAGE_SELECTOR1$</div><?endif?><!-- </body> --> <!-- </middle> --> </div> <div id="rightcol"> <div id="soc"> <?if($RSS_LINK$)?><a href="$RSS_LINK$" target="_blank" title="RSS" class="soc-rss"></a><?endif?> <a href="http://del.icio.us/post?url=$HOME_PAGE_LINK$" rel="nofollow" target="_blank" title="Del.icio.us" class="soc-del"></a> <a href="http://www.facebook.com/share.php?u=$HOME_PAGE_LINK$" rel="nofollow" target="_blank" title="FaceBook" class="soc-facebook"></a> <a href="http://memori.ru/link/?sm=1&u_data[url]=$HOME_PAGE_LINK$" rel="nofollow" target="_blank" title="Memori" class="soc-memori"></a> <a href="http://vkontakte.ru/share.php?url=$HOME_PAGE_LINK$" rel="nofollow" target="_blank" title="Vkontakte" class="soc-vkontakte"></a> <a href="http://twitter.com/share?url=$HOME_PAGE_LINK$" rel="nofollow" target="_blank" title="Twitter" class="soc-twitter"></a> </div> $GLOBAL_CLEFTER$ </div> <div style="clear: both;"></div> </div> $GLOBAL_BFOOTER$ </div> </div> </body> </html> |
|
|
|
Алфинави,
Quote (Алфинави) Code <?if($NO_CATEGORIES$)?><hr />$CATEGORIES$<?endif?> То, что выделено красным, я так понял должно убрать категорию, но нет, она все равно есть. Прописал я в: "ПУ->"Каталог статей" -> "Страница со списком метриалов категории" (там, где мне и надо) Нет, такого оператора нет. На пустоту можно проверить количеством символов, например: Code <?if(len($CATEGORIES$)>100)?> $CATEGORIES$ <?endif?> Выведет код если в html коде большее 100 символов - кол-во символов определяется опытным путем ) ... Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
|
Лучше наверно всё-таки банально проверять само наличие категорий:
Code <?if($CATEGORIES$)?><hr />$CATEGORIES$<?endif?> Quote (Алфинави) Если что, целиком код выглядит так: PS: Заголовок спойлера указать не получается. Или он только в предварительном просмотре ломается? |
|
Alexander_K,
Quote (Alexander_K) Лучше наверно всё-таки банально проверять само наличие категорий Ну да, действительно) Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
|
подскажите как в доске объявлений убрать стандартное меню разделов
вот код Code <html><head> <title>$MODULE_NAME$ - $SITE_NAME$</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <meta http-equiv="Content-Language" content="ru"> <meta name="GENERATOR" content="mozga.net"> <meta name="author" content="Введите сюда Ваше имя"> <meta name="copyright" content="(c) Ваше имя, 2008"> <meta name="keywords" content="ключевые, слова, через, запятую, для, поисковых"> <meta name="description" content="Опишите здесь свой сайт, его назначение"> <link type="text/css" rel="StyleSheet" href="/_st/my.css" /> <title>$MODULE_NAME$ - $SITE_NAME$</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="ru"><meta name="GENERATOR" content="mozga.net"><meta name="author" content="Введите сюда Ваше имя"><meta name="copyright" content="(c) Ваше имя, 2008"><meta name="keywords" content="ключевые, слова, через, запятую, для, поисковых"><meta name="description" content="Опишите здесь свой сайт, его назначение"></head><body> <!-- <Верхняя часть сайта> --> $GLOBAL_AHEADER$ <!-- </Верхняя часть сайта> --> <table id="contentBlock" align="center" border="0" cellpadding="0" cellspacing="0"> <tbody><tr> <td class="column" valign="top"> <!-- <middle> --> $GLOBAL_CLEFTER$ <!-- <Середина> --> </td> <td valign="top"> <div style="padding: 10px;"> <!-- <Содержиомое> --> <!-- <body> --><table border="0" cellpadding="0" cellspacing="0" width="100%"> <!-- <банерная сеть воронежа> --> <center> <script language="JavaScript"> var loc = ''; </script> <script language="JavaScript1.4">try{ var loc = escape(top.location.href); }catch(e){;}</script> <script language="JavaScript"> var userid = 173266386; var page = 1; var rndnum = Math.round(Math.random() * 999111); document.write('<iframe src="http://ad16.bannerbank.ru/bb.cgi?cmd=ad&hreftarget=_blank&pubid=' + userid + '&pg=' + page + '&vbn=1937&w=468&h=60&num=1&r=ssi&ssi=nofillers&r=ssi&nocache=' + rndnum + '&ref=' + escape(document.referrer) + '&loc=' + loc + '" frameborder=0 vspace=0 hspace=0 width=468 height=60 marginwidth=0 marginheight=0 scrolling=no>'); document.write('<a href="http://ad16.bannerbank.ru/bb.cgi?cmd=go&pubid=' + userid + '&pg=' + page + '&vbn=1937&num=1&w=468&h=60&nocache=' + rndnum + '&loc=' + loc + '&ref=' + escape(document.referrer) + '" target="_blank">'); document.write('<img src="http://ad16.bannerbank.ru/bb.cgi?cmd=ad&pubid=' + userid + '&pg=' + page + '&vbn=1937&num=1&w=468&h=60&nocache=' + rndnum + '&ref=' + escape(document.referrer) + '&loc=' + loc + '" width=468 height=60 Alt="Баннерная сеть Воронежа" border=0></a></iframe>'); </script> <br></center> <center><font size=1><a href="http://36b.ru" target = "_top">Баннерная сеть Воронежа</a></font></center> <!-- <банерная сеть воронежа> --> <tr> <td width="80%"><a href="$HOME_PAGE_LINK$"><!--<s5176>-->Главная<!--</s>--></a> » <!--<s3193>-->Доска объявлений<!--</s>--> (<b>$NUM_ENTRIES$</b>)</td> <td align="right" style="white-space: nowrap;"><?if($ADD_ENTRY_LINK$)?>[ <a href="$ADD_ENTRY_LINK$"><!--<s5232>-->Добавить объявление<!--</s>--></a> ]<?endif?></td> </tr> </table> <!-- <РУБРИКАТОР> --> <div class="object"> <div class="objectNote"><table border="0" cellSpacing="5" cellPadding="5" width="100%"> <tbody> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/1-home.png"><font size="4"><strong><strong> <a href="http://hrenovoe.ucoz.ru/board/nedvizhimost/178">Недвижимость</a></strong> </strong></font>продажа покупка недвижимости, сдать или снять дом, квартиру, офис</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/mebel.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/prochie_tovary/mebel_interer/122"><strong>Мебель и интерьер</strong></a></strong></font> Мягкая и кухонная мебель, шкафы, кухни, прихожие, диваны - новые и б/у</td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/cargrey.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/avtomobili/1"><strong>Авто-мото</strong></font></a> купля продажа автомобилей, мотоциклов, велосипедов. Аксессуары, запчасти</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/obmen.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/raznoe/obmen/185"><strong>Обмен</strong></a></strong></font> равноценный обмен или обмен с доплатой. </td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/uslugi.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/uslugi_v_raznykh_sferakh/142"><strong>Услуги и деятельность</strong></a></strong></font> сфера услуг, привезти-отвезти, выполним работы, ремонт</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/podarok.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/raznoe/otdam_darom/186"><strong>Отдам даром</strong></a></strong></font> ненужное, раздача имущества в связи с переездом или с покупкой нового. Помощь нуждающимся.</td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/dlya_detey.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/prochie_tovary/tovary_dlja_detej/187"><strong>Товары для детей</strong></a></strong></font> все для детей от игрушек до одежды, коляски</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/stroitelstvo.png"><font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/stroitelstvo/134"><strong>Строительство</strong></a></strong></font> услуги строительства, строительные материалы и инструменты</td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/sport.png"> <font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/prochie_tovary/sport_i_turizm/188"><strong>Спорт и туризм</strong></a></strong></font> предложения для активного образа жизни</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/odezhda.png"> <font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/bytovye_tovary/odezhda_obuv_tekstil/26"><strong>Одежда и обувь</strong></a></strong></font> новая и б/у, оказание услуг по пошиву, аксессуары.</td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/elektronika.png"> <strong><font size="4"><a href="http://hrenovoe.ucoz.ru/board/kompjutery/45"><strong>Компьютеры и электроника</strong></a></font></strong> новые и б/у, комплектующие, ремонт, программное обеспечение</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/bitovaya_tehnika.png"> <font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/bytovye_tovary/18"><strong>Бытовая техника</strong></a></strong></font> техника для дома, газовое оборудование, электроприборы</td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/zdorove_krasota.png"> <strong><font size="4"><a href="http://hrenovoe.ucoz.ru/board/bytovye_tovary/kosmetika_parfjumerija/28"><strong>Красота и здоровье</strong></a></font></strong> косметика, парфюмерия, медицина. </td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/edf7cbca83a7.png"> <font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/raznoe/vsjo_dlja_svadby/189"><strong>Все для свадьбы</strong></a></strong></font> свадебные платья, обручальные кольца. Музыка, тамада, авто на прокат, украшения. </td></tr> <tr> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/rasteniya_zhivotnie.png"> <font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/prochie_tovary/zhivotnye_zootovary/123"><strong>Растения и животные</strong></a></strong></font> собаки, кошки, домашние растения, цветы, хомячки, рыбки, кролики. Животноводство, птицеводство, корма.</td> <td width="50%"><img border="0" alt="" src="http://hrenovoe.ucoz.ru/habloncaita/raznoe.png"> <font size="4"><strong><a href="http://hrenovoe.ucoz.ru/board/raznoe/164"><strong>Другое</strong></a></strong></font> все не вошедшее в приведенные категории, эксклюзивные предложения, знакомства, бизнес-идеи, раритет.</td></tr></tbody></div> </div><hr> <!-- <РУБРИКАТОР> --> <hr /> $CATEGORIES$ <hr /> $BODY$<!-- </body> --> <!-- </Содержиомое> --> </div> </td> <td class="column" valign="top"> <!-- </Середина> --> $GLOBAL_DRIGHTER$ <!-- </middle> --> </td> </tr> </tbody></table> <!-- <Нижняя часть сайта> --> $GLOBAL_BFOOTER$ <!-- </Нижняя часть сайта> --> </body></html> а это сама страница http://hrenovoe.ucoz.ru/board/# Сообщение отредактировал hrenovoe - Пятница, 27 Июл 2012, 18:21:17
|
|
|
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!

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






