Наверх
РегистрацияВход на сайтВход на сайт
  • Страница 1 из 1
  • 1
Как сделать несколько дизайнов на сайте без смены css?
Bars90 Дата: Вт, 12 Июл 2011, 10:56 | Сообщение # 1
Суперактивный
Сообщений: 312
Дополнительные сведения »
Offline
После обновления системы, появилась очень интересная возможность создавать дизайн сайта непосредственно на сервере, используя возможности куки.
Как изменять дизайн с помощью обычных кук вы можете найти в интернете и не стоит данное совершенствование использовать таким же способом, т.е. заменять файлы стилей и запускать определенные скрипты.
С помощью Ucoz-куки вы можете выводить или не выводить часть HTML-кода, т.е. уменьшать объем передаваемых данных с сервера на компьютер, перестроить почти полностью всю страницу вашего сайта и форума. К сожалению при написании статьи я сталкнулся с тем, что данный код не работает в части шаблонов, надеюсь это будет исправлено.
В дальнейшем для понимания мы будем называть измененный вид сайта - спец-режимом, а обычный - обычным режимом.
Как активизировать спец-режим?
Спец-режим можно активизировать с помощью Ucoz-куки, которую можно записать только через форму входа (надеюсь сделают ее не кодированной и тогда настройка значительно облегчется). Вам необходимо добавить в форму входа дополнительную переменную. Переменная обязательно должно иметь числовое значение. Рассмотрим несколько вариантов:
1. Используя чекбокс (по примеру в админке):
<input type="checkbox" id="flag" name="flag" value="32" /> <label for="flag">Мини-дизайн</label>
2. Используя выподающий список:
<select name="flag" size="1">
<option value="0" style="background-color:#999999" selected>- Дизайн -</option>
<option value="0">обычный</option>
<option value="1">мини-дизайн</option>
<option value="2">супер-мини</option>
</select>
3. Используя радио кнопки:
<label><input type="radio" name="flag" value="0"> обычный</label><br />
<label><input type="radio" name="flag" value="1"> мини-дизайн</label><br />
<label><input type="radio" name="flag" value="2"> супер-мини</label><br />
4. Используя скрытое поле (актуально если вы сделали индивидуальную страничку для входа в спец-режим)
Все перечисленные способы устанавливают только одно значение флага (Ucoz-куки). Можно использовать и множественный выбор (о нем будет позже добавлено).

Как изменять дизайн?
Все очень просто, нужно поставить нужный HTML-код в Ucoz-условие:
%IF($SPEC_FLAG$=2)%
HTML-код который нужно показывать если флаг равен 2
%ENDIF%

Если HTML-код не нужен в спец-режиме то Ucoz-условие будет иметь вид:
%IF($SPEC_FLAG$!2)%
HTML-код который НЕ нужно показывать если флаг равен 2
%ENDIF%

В шаблонах можно использовать несколько раз код $BODY$, поэтому если нужно переделать не часть кода, а полностью сделать преобразование то, можно подготовить два отдельных дизайна и вставить их в шаблон:
%IF($SPEC_FLAG$=2)%
HTML-код который нужно показывать если флаг равен 2
$BODY$
HTML-код который нужно показывать если флаг равен 2
%ELSE%
HTML-код который НЕнужно показывать если флаг равен 2
$BODY$
HTML-код который НЕнужно показывать если флаг равен 2
%ENDIF%

Замечание
Перед тем как использовать в шаблоне код $SPEC_FLAG$ убедитесь, что он в нем работает:
1. Установите данный кук используя форму входа с полем flag
2. Попробуйте вывести его в шаблоне.
Замечено, что $SPEC_FLAG$ не работает в виде сообщения на форуме (что самое обидное).

 
DeadHead Дата: Чт, 14 Июл 2011, 13:16 | Сообщение # 2
Суперактивный
Сообщений: 334
Дополнительные сведения »
Offline
Ого не знал) Спасибо! smile

 
  • Страница 1 из 1
  • 1
Поиск: