Подключаем для DLE форума отдельный общий шаблон
Подключаем отдельный общий шаблон для DLE форума
Владельцы движка 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», именно в этот файл и сохраняйте свой шаблон.
Например, для своего проекта, в общем шаблоне форуме, я удалил правую колонку, что бы не мешалась для просмотра форума.