• Страница 1 из 1
  • 1
Как сделать несколько дизайнов на сайте без смены css?
Johan Дата: Среда, 22.09.2010, 14:52 | Сообщение # 1
Johan
Статус не установлен
Сообщений:84
Награды:49
Репутация:221
Статус:Оффлайн
После обновления системы, появилась очень интересная возможность создавать дизайн сайта непосредственно на сервере, используя возможности куки.
Как изменять дизайн с помощью обычных кук вы можете найти в интернете и не стоит данное совершенствование использовать таким же способом, т.е. заменять файлы стилей и запускать определенные скрипты.
С помощью 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$ не работает в виде сообщения на форуме (что самое обидное).

источник - http://helper.ucoz.ru/

Сообщение отредактировал Johan - Среда, 22.09.2010, 14:53
woloss Дата: Среда, 22.09.2010, 15:00 | Сообщение # 2
woloss
Статус не установлен
Сообщений:1208
Награды:100
Статус:Оффлайн
Запихай коды в [code]
Johan Дата: Среда, 22.09.2010, 15:57 | Сообщение # 3
Johan
Статус не установлен
Сообщений:84
Награды:49
Репутация:221
Статус:Оффлайн
woloss, когда панель с b кодами сделают, поставлю
woloss Дата: Среда, 22.09.2010, 16:58 | Сообщение # 4
woloss
Статус не установлен
Сообщений:1208
Награды:100
Статус:Оффлайн
Там же легко [code]Тут скрипт[*/code]

P.S. без *

Johan Дата: Среда, 22.09.2010, 17:08 | Сообщение # 5
Johan
Статус не установлен
Сообщений:84
Награды:49
Репутация:221
Статус:Оффлайн
а мне влом, кому надо тот и так поймет, и кстати, статья старая так что

%IF($SPEC_FLAG$=2)%
%ENDIF%

тоже самое что и

<?if($SPEC_FLAG$=0)?>
<?endif?>

kurupt Дата: Четверг, 28.10.2010, 05:48 | Сообщение # 6
kurupt
Grom a.K.a Go
Сообщений:2397
Награды:321
Репутация:2012
Статус:Оффлайн
хм норма но с css лучше на мой взгляд.. и легче

wenizay.com
Kla$Man Дата: Понедельник, 01.11.2010, 15:05 | Сообщение # 7
Kla$Man
Статус не установлен
Сообщений:471
Награды:11
Репутация:194
Статус:Оффлайн
kurupt, того же мнения

Kla$Man™ CMS Мастер©



jeteam.ru - Сообщество web-дизайнеров и web-разработчиков, у нас интересно! Скоро открытие качественного хостинга! Читаем на форуме!
Spout Дата: Вторник, 02.11.2010, 16:10 | Сообщение # 8
Статус не установлен
Сообщений:337
Награды:22
Репутация:1334
Статус:Оффлайн
Лучше всего на куках.

Заходим в мой скромный бложик - spouts.ru
Там пишу о кодинге, сайтостроении и прочих IT
n00ble Дата: Четверг, 04.11.2010, 03:44 | Сообщение # 9
Статус не установлен
Сообщений:133
Награды:0
Репутация:143
Статус:Оффлайн
хм, спасибо. Хоть что-то новое.
Adren@lin Дата: Суббота, 12.02.2011, 21:09 | Сообщение # 10
Adren@lin
Статус не установлен
Сообщений:115
Награды:26
Репутация:347
Статус:Оффлайн
Лучше сделать на куках

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