Документация по шаблонам

Введение

Данная статья предназначена для тех, кто хочет написать собственный шаблон, либо внести какеи-либо изменения в коде стандартных шаблонов, она опишет специфику шаблонизатора движка и саму структуру шаблонов. Тут не будет описываться сами технологии css и html, предпологается, что Вы ими хоть как-то, да владете, если же нет, то самоучитель по html тут, а по css тут.

 

Про CSS

Все стили для шаблонов рекомендуется вписывать в файл mystyles.css, это единственный файл стилей, который ни при каких обстоятельствах не будет заменен стандартным при обновлении. Во всяком случае, при обновлении движка Вы всегда можете ознакомиться со списком файлов, которые будут заменены и сделать их предварительную копию.

 

Как поменять ту или иную картинку?

Делается просто, кликаете на картинку правой кнопкой мыши, копируете ссылку на нее(пункт "Копировать ссылку на изображение"), вствляете скопированную ссылку в блокнот и смотрите в каком каталоге размещено ваше изображение, если ссылка вида: "https://demo.gamecms.ru/templates/flat/img/g_logo.jpg", это значит, что изображение лежит в каталоге: "templates/flat/img/g_logo.jpg", начиная с корневой директории движка. Вы можете найти и заменить ее либо через редактор шаблонов движка, либо же через ftp менеджер.

 

Шаблонизатор движка

При сложившихся обстоятельствах в движок пришлось внедрять собственный шаблонизатор со своим ситаксисом. Об этом подробнее здесь - синтаксис шаблонизатора.

 

Структура шаблона

Все, что касается шаблонов, лежит в каталоге templates. В данной папке размещены все Ваши шаблоны, названия вложенных папок соответствуют названиям шаблонов. Название admin является зарезервированным, используется для шаблона админ центра. Углубляемся дальше. Переходим в любую папку с шабоном, перед нами будет следующая структура:

css - стили
fonts - шрифты
img - изображения
js - скрипты
tpl - шаблоны

Тут я думаю все понятно, рекомендую всем придерживаться данной структуры. Остановимся подробнее на каталоге tpl. По названиям шаблонов интуитивно понятно в какой части и на каких страницах они применяются, но все же распишу более подробно:

Название файла -> Значение файла:
main.tpl - Главный шаблон, все остальные включаются в него
head.tpl - Заголовочный шаблон, используется на всех страницах сайта - самый верх шаблона, содержит тег head
bottom.tpl - Низ шаблона, используется на всех страницах сайта - самый низ шаблона
error.tpl - Страница ошибки
off_site.tpl - Страница выключенного сайта
config.tpl - Конфигурационный файл шаблона. Не все шаблоны содержат данный файл.

/bans/add_ban.tpl - Страница добавления заявки на разбан
/bans/ban.tpl - Страница просмотра заявки на разбан
/bans/index.tpl - Страница списка всех заявок на разбан
/bans/instructions.tpl - Информация по создании заявки на разбан

/forum/add_topic.tpl - Страница создания новой темы
/forum/edit_forum.tpl - Страница редактирования форума
/forum/edit_message.tpl - Страница редактирования сообщения
/forum/edit_topic.tpl - Страница редактирования темы
/forum/forum.tpl - Страница подфорумов
/forum/index.tpl - Главная страница форума
/forum/topic.tpl - Страница темы

/home/top.tpl - Верхняя часть шаблона(Для авторизованных)
/home/page_top.tpl - Дополнительная верхняя часть шаблона(Для авторизованных)
/home/left.tpl - Дополнитлеьная верхняя часть шаблона(Для авторизованных)
/home/index.tpl
- Главная страница для(Для авторизованных)
/home/admins.tpl - Страница списка администраторов
/home/banlist.tpl - Страница банлиста
/home/edit_user.tpl - Страница редактирования пользователя
/home/friends.tpl - Страница списка друзей пользователя
/home/messages.tpl - Страница личных сообщений
/home/mutlist.tpl - Страница мутлиста
/home/my_stores.tpl - Страница услуг пользователя
/home/myfriends.tpl - Страница друзей
/home/notifications.tpl - Страница уведомлений
/home/page.tpl - Страница статических страниц - тех, что Вы создаете в редакторе страниц(Для авторизованных)
/home/profile.tpl - Страница мой профиль
/home/purse.tpl - Страница пополнения баланса
/home/settings.tpl - Страница настроек пользователя
/home/stats.tpl - Страница статистики
/home/store.tpl - Страница магазина
/home/users.tpl - Страница всех пользователи

/news/add_new.tpl - Страница добавления новости
/news/change_new.tpl - Страница редактирования новости
/news/index.tpl - Страница всех новостей
/news/new.tpl - Страница новости

/support/add_ticket.tpl - Страница создания тикета
/support/all_tickets.tpl - Страница всех тикетов пользователей
/support/index.tpl - Страница всех тикетов пользователя
/support/ticket.tpl - Страница тикета

/index/top.tpl - Верхняя часть шаблона(Для неавторизованных)
/index/body.tpl - Тело главной страницы(Для неавторизованных)
/index/main_info.tpl - Описание вашего проекта
/index/page.tpl - Страница статических страниц - тех, что Вы создаете в редакторе страниц(Для неавторизованных)
/index/recovery.tpl - Страница восстановления пароля(Для неавторизованных)

/elements/ - Элементов в данной папке довольно много, все эти шаблоны служат для отображения динамически подгружаемого контента, по названию и содержанию шаблона, думаю можно определить его применение, поэтому не буду все расписывать.

 

Виды страниц, последовательность шаблонов на странице, теги с переменными

Страницы бывают 3х типов: доступные только для авторизованных, только для гостей и смешанные. Далее будут описаны все 3 типа этих страниц, в какой последовательности на них подключаются шаблоны и каких теги в них доступны.

  • ДЛЯ НЕАВТОРИЗОВАННЫХ

/elements/title.tpl - Заголовок
    {title} - Название сайта
    {name} - Название страницы
head.tpl
    {site_name} - Заголовок
    {site_host} - Url сайта
    {template} - Название шаблона
    {other} - Подключаемые дополнительные файлы
    {token} - Токен
/index/top.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка
/index/body.tpl
    {site_host} - Url сайта
    {site_name} - Название сайта
    {conf_mess} - Сообщение о статусе регистрации
bottom.tpl - Нижняя часть сайта
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта

 

  • ДЛЯ СМЕШАННОЙ

/elements/title.tpl - Заголовок
    {title} - Название сайта
    {name} - Название страницы
head.tpl
    {site_name} - Заголовок
    {site_host} - Url сайта
    {template} - Название шаблона
    {other} - Подключаемые дополнительные файлы
    {token} - Токен


>> Если авторизован:
/home/top.tpl
    {site_name} - Заголовок
    {site_host} - Url сайта
    {template} - Название шаблона
/home/left.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка
/home/page_top.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка


>> Если не авторизован
/index/top.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка
/home/page.tpl - Основной контент страницы, теги зависят от предназначения страницы, но есть и общие теги для всех страниц
    {template} - Название шаблона
    {site_name} - Название сайта


bottom.tpl - Нижняя часть сайта
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта

 

  • ДЛЯ АВТОРИЗОВАННЫХ

/elements/title.tpl - Заголовок
    {title} - Название сайта
    {name} - Название страницы
head.tpl
    {site_name} - Заголовок
    {site_host} - Url сайта
    {template} - Название шаблона
    {other} - Подключаемые дополнительные файлы
    {token} - Токен
/home/top.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка
/home/left.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка
/home/page_top.tpl
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта
    {group} - Группа пользователя
    {user_id} - ID пользователя
    {login} - Логин пользователя
    {balance} - Баланс пользователя
    {proc} - Скидка пользователя
    {avatar} - Аватар пользователя
    { menu } - Меню сайта (без пробелов)
    {tickets} - Количество нерассмотренных тикетов(для привилегированного пользователя)
    {bans} - Количество нерассмотренных банов(для привилегированного пользователя)
    {nav} - Навигационная строка
/home/page.tpl - Основной контент страницы, теги зависят от предназначения страницы, но есть и общие теги для всех страниц
    {template} - Название шаблона
    {site_name} - Название сайта
bottom.tpl - Нижняя часть сайта
    {site_host} - Url сайта
    {template} - Название шаблона
    {site_name} - Название сайта

 

Дополнительная информация

 - Все шаблоны поддерживают вставку php кода, при выключенном безопасном режиме

 - Обращаю внимание, что шаблоны редактировать стоит очень внимательно, удаление некоторых элементов с указанным id, либо изменение id, удаление тегов script может повлечь неработоспособность некоторого функционала

 

Контакты