Клуб Админов > Статьи > Подключаем для DLE форума отдельный общий шаблон.

Подключаем для DLE форума отдельный общий шаблон.


21 августа 2008. Разместил: redrat
Владельцы движка dle и модуля форума наверняка столкнулись с проблемой, когда для вывода форума используется один и тот же шаблон что и для любой страницы сайта «Общий макет страницы». Это очень неудобно, но существует простой метод решения данного вопроса.

Сначала прочитайте инструкцию сверху до низу несколько раз, уже потом приступайте к плану действий.

Цель: создать для ДЛЕ форума «Общий макет страниц форума»

Задача: внести изменения в ядро движка, сделать отдельный макет для форума.

Принцип действия: добавим параметр в ядро, добавим отдельный шаблон в папку с шаблонами.

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

Уровень трудности выполнения: просто и безопасно, все изменения могут быть отменены без вреда движку и сайту.

Действуйте по плану, старайтесь выполнять последовательно каждый пункт, без отклонений. В случае, если какой-то этап не получается НЕ пропускайте его, а совсем прекращайте работу над изменениями т.к. каждый шаг вплоть до последнего не несет коренных изменений в движке, движку они будут нейтральны. А вот если пропустить некий шаг, возможны непредвиденные ситуации.

План действий:

1. Откройте папку с шаблонами движка «ПАПКА_ДЛЕ\templates\НАЗВАНИЕ_ШАБЛОНА\»

Сделайте копию файла «main.tpl» и назовите «forummain.tpl» - это и будет шаблон общих страниц форума не зависящий от общих страниц сайта.

2. Найдите файл «index.php» в корневой папке движка. Сделайте архивную копию, в случае возникновения проблем с внесением модификаций, восстановите его! Откройте файл для редактирования в блокноте.

3. Замените строку

$tpl->load_template('main.tpl');


На

if($do!="forum"){

               $tpl->load_template('main.tpl');

}else{



               $tpl->load_template('forummain.tpl');

}


Поясню, что и на что вы заменяете. То, что вы заменяете, это функция загрузки шаблона в память для дальнейших каких-то операций. Вы это заменили на кое-что чуточку более сложное. Точно та же функция загрузки шаблона. НО, добавлено условие при котором: ЕСЛИ движку НЕ задана команда Вывод обычных страниц сайта, ТО загрузить шаблон для форума, или другая трактовка, если вывод форума, то загружаем отдельный шаблон.


Сохраните изменения в файле «index.php» и закройте его. Не забудьте, что шаблон «forummain.tpl» полностью идентичен файлу шаблону «main.tpl». Внесите изменения в шаблон «forummain.tpl» для того что бы изменить вид форума.

Готово. Теперь для DLE форума будет загружаться отдельный общий шаблон из файла «forummain.tpl», именно в этот файл и сохраняйте свой шаблон.

Например, для своего проекта, в общем шаблоне форуме, я удалил правую колонку, что бы не мешалась для просмотра форума.