Как использовать условия Если вы совершенно не понимаете, как работают условные операторы и информации в панели управления для вас мало, то я попробую вам объяснить. Самое главное, чтобы вы настроились на то, что это очень просто. Так оно и есть!
И так, начну с понятий. Условные операторы - это специальные коды-символы, которые могут выполнять какие-то сценарии. Вы можете создать совершенно новую опцию на своём сайте, которая собственно не предусмотрена панелью.
Для начала нужно понять и привыкнуть к составляющим частям самого кода сценария, а это:
- это какое-то условие (код), которое говорит оператору с кем мы имеем дело и с чем работать. Заменяем мысленно фразой «Если есть»;
- это оператор которое выполнит то, что вы скажете, когда условие не соответствует названным. Мысленно заменяем фразой «Если нет»;
- это конец условного оператора, мысленно заменяем «Конец»;
Теперь разберем простой пример, который приводится в панели управления:
(Из редактора страниц)
Code
<?if($USER_LOGGED_IN$)?> Hello, $USERNAME$ <?else?> You are GUEST. Please register. <?endif?>
Что это на нашем языке написано: «Если есть авторизированный пользователь, то «Привет его логину!», а если нет, «Привет Гостю!» и конец.»
Почему? Откуда? Подробней!
Что в данном коде использовалось:
Мы оператору сообщили, что наш сценарий направлен, чтобы поздороваться с теми, кто авторизирован. Мы поставили вместо $код$ следующий $USER_LOGGED_IN$ , то есть сказали «Если есть авторизированный - ». После идет какая-то ваша информация доступна только авторизированным. Однако мы попутно можем использовать условие если они не соответствуют названным, а именно у нас не соответствуют Гости. Значит, мы после информации для зарегистрированных вписываем информацию для гостей.
Мы так же можем исключить Гостей совершенно и вывести информацию только зарегистрированным. Для этого просто не используем «Если нет». Получаем следующее:
Code
<?if($USER_LOGGED_IN$)?> Как хорошо, что вы зарегистрировались! <?endif?>
То есть в данном случае фразу «Как хорошо, что вы зарегистрировались!» видят только те, кто вошёл под логином.
Условием для работы операторов может быть любой код, который указан как работающий в каком-то модуле. В нашем случае (редактор страниц) могут примеры:
<?if($USER_LOGGED_IN$)?> Вы с нами уже$USER_REG_DAYS$ дней! <?else?> Пожалуйста, зарегистрируйтесь. <?endif?>
И так далее.
Условия для сценария можно изменить с помощью дополнительных возможностей, которые поддерживают операторы. Это знаки «=», «>», «<». При необходимости, приравненные разделяются вертикальной чертой. После знака, вы сообщаете оператору на кого направлен весь сценарий.
Code
<?if($код$='условие')?> Я это вижу <?else?> А вот я вижу это <?endif?>
Или
Code
<?if($код$='условие')?> Самое главное, что я это вижу <?endif?>
Пример:
Code
<?if($USER$='Дима')?> Дима, не забудь каждый день читать почту. <?endif?>
То есть, на словах «Если есть логины вошедших и среди них есть Дима (='Дима'), то ему показать это…»
То же самое касается групп, имён, пола, даты и всего что работает из кодов. Ещё примеры:
Code
<?if($USER$='Mike' or $USER$='Lola')?> Дима и Света, вот тайная ссылочка …. <?endif?>
Группы:
Code
<?if($GROUP_ID$=3 or $GROUP_ID$=4)?> Модеры и Админы, все кликаем на рекламу тут… <?endif?>
И т.д.
Однако операторы могут работать друг в друге. Пример:
Code
<?if($USER_LOGGED_IN$)?> Привет $USER$! <?if($GROUP_ID$=3 || $GROUP_ID$=4)?> Не забываем кликать на рекламу! <?endif?> <?else?> Пожалуйста, зарегистрируйтесь. <?endif?>
Сценарий такой: «Если есть вошедшие, то Привет им, а если среди них есть Админы и Модеры, то добавить Кликаем на рекламу, если есть то кто не вошел, то просим зарегистрироваться и конец.»
background-position - задает стартовую позицию фонового изображения. background - объединяет в себе все свойства, которые используются для определения фона страницы. background-attachment - определяет является ли фоновое изображение фиксированным или прокручивается вместе со страницей. background-color - задает цвет фона для элемента. background-image - определяет используемое изображение фона для элемента. background-repeat - определяет как повторять фоновое изображение.
Code
border-bottom-width -задает ширину нижней границы элемента. border-left-width - задает ширину левой границы элемента. border-left-style - задает стиль левой границы элемента. border-left-color - задает цвет левой границы элемента. border-left - объединяет в себе все свойства, которые используются для определения левой границы (рамки) элемента. outline-color - задает цвет внешней границы элемента. border-collapse - способно удалять двойные линии (границы) на месте стыка ячеек таблицы. border-width - задает ширину для четырех границ. border-top-width - задает ширину верхней границы элемента. border-top-style - задает стиль верхней границы элемента. outline-style - задает стиль внешней границы элемента. border-right - объединяет в себе все свойства, которые используются для определения правой границы (рамки) элемента. border-right-color - задает цвет правой границы элемента. border-right-style - задает стиль правой границы элемента border-bottom-color - задает цвет нижней границы элемента. border-bottom - объединяет в себе все свойства, которые используются для определения нижней границы (рамки) элемента. border - объединяет в себе все свойства, которые используются для определения границы (рамки) элемента. border-color - задает цвет для четырех границ. outline - задает внешнюю границу вокруг элементов border-top-color - задает цвет верхней границы элемента. border-top - объединяет в себе все свойства, которые используются для определения верхней границы (рамки) элемента. border-style - задает стиль для четырех границ. border-spacing - задает расстояние между границами ячеек в таблице border-right-width - задает ширину правой границы элемента. outline-width - задает ширину внешней границы элемента.
Code
min-width - определяет минимальную ширину элемента. max-width - определяет максимальную ширину элемента. min-height - определяет минимальную высоту элемента. height - определяет высоту элемента. width - определяет ширину элемента. max-height - определяет максимальную высоту элемента.
Code
font-size - задает размер шрифта. font-weight - определяет толщину символов в тексте. font-style - задает стиль шрифта для текста. font-family - задает шрифт для элемента. font - бъединяет в себе все свойства, которые используются для определения шрифта. font-variant - определяет должен ли текст отображаться капительными буквами или нет.
Code
quotes - задает тип кавычек, которые используются для вставленных цитат. counter-reset - создает или сбрасывает один или несколько счетчиков. counter-increment - используется для увеличения значения счетчика приращений content - предназначено для вставки сгенерированного контента
Code
caption-side - задает расположение заголовка (подписи) таблицы. empty-cells - позволяет определить показывать границы и фон пустых ячеек или нет. table-layout - позволяет определить алгоритм разметки таблицы.
Code
vertical-align - задает вертикальное выравнивание элемента. word-spacing - уменьшает или увеличивает пробелы между словами. white-space - определяет отображение пробелов между словами. text-align - определяет горизонтальное выравнивание текста в элементе. text-indent - определяет отступ первой строки в текстовом блоке. text-decoration - определяет оформление текста. direction - позволяет задать направление отображения текста. line-height - определяет высоту строки. letter-spacing - увеличивает или уменьшает расстояние между буквами в тексте. color - позволяет задать цвет текста. text-transform - контролирует в тексте выделение заглавными буквами.
Code
:lang - добавляет стиль к элементу со специальным атрибутом lang. :hover - добавляет стиль к элементу при наведенной мышкой. :active - добавляет стиль к активному элементу. :first-child - добавляет стилевое оформление к первому дочернему элементу селектора :visited - добавляет стиль к посещенной ссылке. :after - добавляет контент после элемента. :before - добавляет контент до элемента. :focus - добавляет специальный стиль к элементу, который получает фокус. :first-line - добавляет стилевое оформление к первой строке текста. :first-letter - добавляет стилевое оформление к первой букве текста. :link - добавляет стиль к непосещенной ссылке.
Code
list-style - объединяет в себе все свойства, которые используются для определения внешнего вида списка. list-style-position - определяет место расположение маркера списка. list-style-type - определяет тип маркера в списке. list-style-image - заменяет маркер списка изображением.
Code
margin-top - определяет верхний отступ для элемента. margin-right - определяет правый отступ для элемента. margin-bottom - определяет нижний отступ для элемента. margin-left - определяет левый отступ для элемента. margin - задает все свойства отступов в одной строке.
Code
padding-top - задает верхнее поле для элемента. padding-right - задает правое поле для элемента. padding-left - задает левое поле для элемента. padding-bottom - задает нижнее поле для элемента. padding - задает все свойства полей в одной строке.
Code
top - устанавливает положение верхнего края содержимого элемента без учета толщины рамок и отступов. cursor - определяет тип курсора при наведении мішки на элемент. display - определяет, как элемент должен быть показан в документе. visibility - способно сделать любой видимым или невидимым. right - устанавливает положение правого края содержимого элемента. z-index - управляет расположением элемента по z-оси float - определяет по какой стороне будет выравниваться объект. Остальные элементы будут обтекать его с других сторон. clip - позволяет определить область позиционированного элемента, в которой будет показано его содержимое. left - устанавливает положение левого края содержимого элемента clear - устанавливает с какой стороны элемента запрещено обтекание другими элементами. overflow - управляет отображением содержания блочного элемента bottom - устанавливает положение нижнего края содержимого элемента без учета толщины рамок и отступов. position - используется для позиционирования элемента.
Вы спросите почему не стандартным способом, .. отвечу, дело в том что я часто наблюдал на ucoz сайтах то что слетает таблица стилеи то есть ссылка на нее, когда создаешь страницу сайта со своей таблицей то ей после каких то обновлений ссылка изменяется стиля на стандартный, что портит дизайн. При использования вывода импорта стиля таким способом в будущем не придаст вашеи странице проблемы так что используйте смело. Лучше всего его заменить пустым полем в быстрой замене шаблона.Далее я приведу небольшой список кодов, которые можно заменить.
Смысл установки заключается в создании html страницы, так называемого каркаса, который содержит определенные теги и коды. Для начало изучим основные теги которые нам понадобятся для установки шаблона.
Code
<!-- <header> -->…<!-- </header> -->
это верхняя часть сайта, чаще всего –это шапки сайтов. Но может быть и такое, что особо выделенной верхней части сайта может и не быть.
Code
<!-- <container> -->…<!-- </container> -->
Между этими тегами располагается колона блоков, справа и слева или же с какой-нибудь одной стороны.
Code
<!-- <block> -->…<!-- </block> -->
этот тег непосредственно относится к самому блоку, который располагается между тегами
Code
<!-- <middle> -->…<!-- </middle> -->
Часть дизайна, которая не будет использована в модуле "Форум". Обычно, это центральная часть сайта, находящаяся между Верхним и Нижним блоками.
Специальный код, уникальный для всех страниц сайта. Для чего нужен этот код? Ну например, вы хотите сделать сообщение с предупреждением на форуме, но в определенном разделе. Например, выберем тестовый раздел, и попробуем добавить сообщение только на страницу этого раздела.
1.Переходим на страницу раздела (в нашем случае это forum/2 ) 2.Смотрим значение кода $URI_ID$ для этой страницы:
3.Составляем условие для этой страницы, на примере кода:
Code
<?if($URI_ID$='frForum2')?>Внимание! В этом разделе необходимо создавать темы исключительно по правилам! Создав неправильно тему вы получите бан! <?endif?>
И так, по коду, сообщение будет выводиться исключительно в данном разделе, и ни на каких других страницах форума. Вставлять готовый код нужно в шаблон «Общий вид страниц форума»
Рассмотрим еще один пример. Для того, что бы добавить текст на страницу создания темы, необходимо перейти на эту страницу и узнать код:
Теперь можно легко составить условие:
Code
<?if($URI_ID$='addthread')?>При создании темы следите за своей орфографией! <?endif?>
эти скрипты вставлям после $BODY$ и изменяем ссылку рекламы талк на свою. если вы еще не зарегистрировались то вот вам не проблема регаитесь и зарабатываете с сайтом в 1500 хостов всутки можете получать в среднем от 10 до 60 руб в Доступно только для пользователей
Code
<script type="text/javascript"> USER_LOGGED = function(){ new _uWnd('myName','Сайт ucozon.ru сообщает!',300,200,{min:1,shadow:1,header:1,max:1,modal:1,popup:1,resize:0},'<div align="left">Что бы скачать данный материал вам необходимо <b>кликнуть по рекламе</b> и под рекламой появится прямая ссылка на файлообменик.<br>Что бы не кликать постоянно по рекламе мы вам предлогаем зарегистрироваться <a href="/index/3">регистрация</a></div>'); } </script>
После обновления системы, появилась очень интересная возможность создавать дизайн сайта непосредственно на сервере, используя возможности куки. Как изменять дизайн с помощью обычных кук вы можете найти в интернете и не стоит данное совершенствование использовать таким же способом, т.е. заменять файлы стилей и запускать определенные скрипты. С помощью Ucoz-куки вы можете выводить или не выводить часть HTML-кода, т.е. уменьшать объем передаваемых данных с сервера на компьютер, перестроить почти полностью всю страницу вашего сайта и форума. К сожалению при написании статьи я сталкнулся с тем, что данный код не работает в части шаблонов, надеюсь это будет исправлено. В дальнейшем для понимания мы будем называть измененный вид сайта - спец-режимом, а обычный - обычным режимом.
Как активизировать спец-режим? Спец-режим можно активизировать с помощью Ucoz-куки, которую можно записать только через форму входа (надеюсь сделают ее не кодированной и тогда настройка значительно облегчется). Вам необходимо добавить в форму входа дополнительную переменную. Переменная обязательно должно иметь числовое значение. Рассмотрим несколько вариантов: 1. Используя чекбокс (по примеру в админке):
4. Используя скрытое поле (актуально если вы сделали индивидуальную страничку для входа в спец-режим) Все перечисленные способы устанавливают только одно значение флага (Ucoz-куки). Можно использовать и множественный выбор (о нем будет позже добавлено).
Как изменять дизайн? Все очень просто, нужно поставить нужный HTML-код в Ucoz-условие:
Code
<?if($SPEC_FLAG$=2)?> HTML-код который нужно показывать если флаг равен 2 <?endif?>
Если HTML-код не нужен в спец-режиме то Ucoz-условие будет иметь вид:
Code
<?if($SPEC_FLAG$=!2)?> HTML-код который НЕ нужно показывать если флаг равен 2 <?endif?>
В шаблонах можно использовать несколько раз код $BODY$, поэтому если нужно переделать не часть кода, а полностью сделать преобразование то, можно подготовить два отдельных дизайна и вставить их в шаблон:
Code
<?if($SPEC_FLAG$=2)?> HTML-код который нужно показывать если флаг равен 2 <?else?> HTML-код который НЕнужно показывать если флаг равен 2 <?endif?>
Замечание Перед тем как использовать в шаблоне код $SPEC_FLAG$ убедитесь, что он в нем работает: 1. Установите данный кук используя форму входа с полем flag 2. Попробуйте вывести его в шаблоне. Замечено, что $SPEC_FLAG$ не работает в виде сообщения на форуме (что самое обидное).
Специальный код, применяемый в условном операторе. Данный код намного проще предыдущего кода $URI_ID$, но так же полезен . Например, вы хотите разместить одну и ту же информацию на всех страницах добавления материалов (для разных модулей). Для этого просто при создании шаблона необходимо уточнить код данной страницы:
Код $PAGE_ID$ будет равен для всех модулей, но разный для все страниц модуля. Например, вставив этот код в шаблон сайта:
Code
<?if($PAGE_ID$='add')?>Предупреждаем, на сайте запрещено добавление порнографии.<?endif?>
Тогда на всех страницах «Добавление материала» во всех модулях будет выводиться это сообщение.