Шаблон списка посетителей
Прежде всего определимся, что такое шаблон. Шаблон — это каркас, который задает положение элементов документа.
В шаблонах имеются специальные параметры (переменные), которые в процессе компиляции (парсинга шаблона) заменяются на реальные значения. В итоге получается полностью готовый HTML-код для вывода в браузер.
В шаблоне списка посетителей определены следующие переменные:
- %ICON% — иконка посетителя, если он зарегистрирован, по которой открывается его анкета. Если посетитель загрузил свою иконку, будет отображена его иконка.
- %RANK% — звание посетителя, выводится только текст.
- %RANK_ICON% — иконка звания посетителя, если есть, в противном случае выводит дефолтовую картинку анкеты.
- %RANK_ICON_INFO% — то же, что и %RANK_ICON%, но с возможнотью открывать анкету посетителя при клике на картинку.
- %USER_ICON% — пользовательская иконка, загруженная посетителем.
- %USER_ICON_INFO% — то же, что и %USER_ICON%, но с возможнотью открывать анкету посетителя при клике на картинку.
- %TORT% — булево значние, истина (символ пробела), если у посетителя сегодня день рождения, иначе ложь (пустая строка).
- %TORT_ICON% — пиктограмма торта, если у посетителя день рождения.
- %STAT% — статус посетителя, который он выбрал в навигации, либо командой /status.
- %STAT_ICON% — иконка статуса.
- %WEBCAM_ICON% — иконка включенной веб-камеры в режиме "трансляция", если переменную использовать как функцию, в аргументе можно передать подсказку, которая будет выводиться при наведении мышки на иконку.
- %USER_STAT% — личный статус пользователя, который он установил командой /status, системные статусы этой переменной не выводятся.
- %INVISIBLE% — булево значние, истина (символ пробела), если посетитель находится в режиме "невидимость", иначе ложь (пустая строка).
- %INVISIBLE_ICON% — пиктограмма невидимости.
- %SEX% — число, указывающее пол посетителя: 1 - мужской, 2 - женский, если пол не установлен переменная содержит пустую строку.
- %SEX_ICON% — пиктограмма пола посетителя, если пол установлен.
- %FLAG% — флаг страны, которой принадлежит IP-адрес, с которого зашел посетитель, размер картинки флага 29 на 20 пикселов.
- %FLAG_INFO% — кликабельный флаг, откроется анкета, если есть.
- %SMALL_FLAG% — тоже флаг страны, но меньших размеров, картинка 18 на 12 пикселов.
- %SMALL_FLAG_INFO% — кликабельный маленький флаг.
- %CO% — двубуквенное обозначение страны в нижнем регистре, можно использовать для загрузки своих изображений флагов.
- %NICK% — ник посетителя.
- %PHOTO% — булево значние, истина (символ пробела), если у посетителя в анкете имеются фотографии, иначе ложь (пустая строка).
- %SHUTUP% — булево значние, истина (символ пробела), если посетителя лишили слова (наказан), иначе ложь (пустая строка).
- %ODDEVEN% — число, содержит 0 для четных строк и 1 для нечетных строк.
- %DESIGN% — число, содержит номер текущего дизайна.
- %CAPTION% — заголовок подсписка, если имеется разделение на мальчиков и девочек.
- %TOTAL% — число, количество человек в чате.
Используя эти обозначения, можно создать шаблон списка посетителей любой конфигурации.
Для выделения строки списка используется оператор {{{ }}}. Внутри этих скобочек должна находиться одна строка списка, остальные будут формироваться аналогично.
Теперь примеры
без разделения на мальчиков и девочек, статус на одной строке с ником |
без флага | с флагом |
|
END%
КТО В ЧАТЕ
%CHAT("WHO", %TABLE%, "
почти никого нет
",
[0, "", 3, "
на голосовании
"],
"анкета %%NICK%%",
""
)%
|
с разделением на мальчиков и девочек, статус на одной строке с ником |
без флага | с флагом |
| |
без разделения на мальчиков и девочек, статус под ником |
без флага | с флагом |
| |
с разделением на мальчиков и девочек, статус под ником |
без флага | с флагом |
| |
В списках с разделением полов можно задавать произвольный порядок вывода подсписков мальчиков, девочек и без пола. Например, заменив на такую строчку первым будут выводиться девочки:
[
2, "<div class=gm>девочки</div>",
1, "<div class=bm>мальчики</div>",
0, "<div class=nm>скрытные души</div>",
3, "<div class=vm>на голосовании</div>"
]
В этих варантах шаблонов, при наведении мышки на изображение флага, будет выводиться двубуквенное обознечение страны, которой принадлежит флаг. Чтобы в подсказке выводилось название страны необходимо в конец кода шаблона добавить такой код для русских названий стран:
<script src=js/country_ru.js></script>
или для английских:
<script src=js/country_en.js></script>
По аналогии можно определить свой файл с названиями стран на любом языке и подключить.
Теперь рассмотрим, из чего состоят наши шаблоны.
1. Это блок
%TABLE<<<END
...
END%
Здесь собственно и определяется внешний вид списка, самый обыкновенный HTML-код с параметрами, которые указывают что и где должно находиться. Этот код сам по себе еще ничего не выводит.
2. Код
<div align=center id=title>КТО В ЧАТЕ</div>
Это просто заголок нашего окна, сюда можно добавить любой HTML-код, если надо как то разнообразить.
Если в чате имеются комнаты, то, чтобы выводился список комнат, сюда надо добавить код
<div align=center id=roomMenu>------- комнаты --------</div>
3. Функция, которая определяет параметры списка.
%CHAT("WHO", ... )%
Именно в это место будет выводиться список.
Первым аргументом этой функции всегда должна быть строка "WHO".
Второй аргумент - это название шаблона списка из п.1 (%TABLE%)
Третий - это строка, которая будет выводиться, если в чате никого нет.
Четвертый - порядок деления списка на подсписки (мальчики, девочки, а также список голосования). Подсписки определяются парами число-строка. Число указывает, какой подсписок должен выводиться: 0 - без пола, 1 - мальчики, 2 - девочки, 3 - голосование (всего 4 пары). Строка - это то, что будет отображаться в заголовке подсписка. Если деления не должно осуществляться, здесь должны быть определены только две пары - 0 и 3.
Пятый - подсказка, которая должна выводиться при наведении мышки на иконку пользователя.
Шестой - подсказка, которая должна выводиться при наведении мышки на иконку киллера. Если строка пустая - будет выводиться такая же подсказка, что и у простого пользователя.
4. Как определются стили
Чтобы все текстовые элементы в каждом дизайне имели свой стиль, их необходимо поместить в контейнер с определенным классом:
<div class=myclass>мой текст</div>
Так опреляются здесь все текстовые элементы. Для списка изначально заданы следующие имена селекторов:
- tm - для сообщения, что в чате никого нет, оно же и для вывода надписи "всего в чате:"
- bm - для текста "мальчики"
- gm - для текста "девочки"
- nm - для текста "бесполые"
- vm - для текста "на голосовании"
Эти стили находятся в дизайнах списка посетителей в пользовательских стилях. По желанию можно назначить свои имена селекторов, убрать лишние или добавить еще стили.
!!! Обращаю ваше внимание, что имена селекторов класса, при определении их в пользовательских стилях, должны начинаться с точки.