Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Использование 3х разных main.tpl

Использование 3х разных main.tpl


     25.10.2011    Шаблоны (TPL), Общие вопросы по PHP    4065

вопрос
Здравствуйте!
У меня такая проблема, есть шаблон, у которого изначально 2 разных main.tpl (для главной и для всех остальных страниц).
При этом index выглядит так:
if(($_SERVER['REQUEST_URI'] == "")||($_SERVER['REQUEST_URI'] == "/")||($_SERVER['REQUEST_URI'] == "/index.php")) 
{ $tpl->load_template ( 'main.tpl' );
} else {
$tpl->load_template ( 'root.tpl' ); }


Сейчас я поставил DLE Forum и для него мне нужен отдельный main.tpl
В интернете я нашел код, как добиться этого, если у меня один main:
if($do!="forum"){
$tpl->load_template('main.tpl');
}else{
$tpl->load_template('forummain.tpl');
}

Но как мне сделать 3 разных, я не знаю.
Пробовал так:
if(($_SERVER['REQUEST_URI'] == "")||($_SERVER['REQUEST_URI'] == "/")||($_SERVER['REQUEST_URI'] == "/index.php")) { 
$tpl->load_template ( 'main.tpl' );
} else {
$tpl->load_template ( 'root.tpl' ); }

if($do!="forum"){

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

}else{



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


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

Ответил: ПафНутиЙ


Ну для начала посоветовал бы вам выкинуть DLE-Forum и поставить либо LogicBoard, либо BulletEnergy.
Далее в место таких премудростей вполне можно воспользоваться тегами [aviable] и [not-aviable]

А исходя из вашего кода всё правильно, последнее условие и будет срабатывать, т.к. все страницы, кроме форумных и являются do!="forum" т.е. не форумными.
Если уж править php то как то так:
if(($_SERVER['REQUEST_URI'] == "")||($_SERVER['REQUEST_URI'] == "/")||($_SERVER['REQUEST_URI'] == "/index.php")) 
{ $tpl->load_template ( 'main.tpl' );
} else {
$tpl->load_template ( 'root.tpl' ); }


Сейчас я поставил DLE Forum и для него мне нужен отдельный main.tpl
В интернете я нашел код, как добиться этого, если у меня один main:
if($do!="forum"){
$tpl->load_template('main.tpl');
}else{
$tpl->load_template('forummain.tpl');
}

Но как мне сделать 3 разных, я не знаю.
Пробовал так:
if(($_SERVER['REQUEST_URI'] == "")||($_SERVER['REQUEST_URI'] == "/")||($_SERVER['REQUEST_URI'] == "/index.php")) 
 $tpl->load_template ( 'main.tpl' );
elseif($do=="forum")
$tpl->load_template('forummain.tpl');
else
$tpl->load_template ( 'root.tpl' );
Отредактировал 26-10-2011, 04:13 - Sander
Причина: Подправил немного код

Комментарии пользователей (2)

stsepelin
5 | 4

stsepelin - 26 октября 2011 00:41 - Юзер

Спасибо за помощь!
Я бы с радостью выкинул DLE Forum, но для остальных ведь нужна интеграция + очень тяжело подобрать подходящий шаблон...

ПафНутиЙ
1065

3395 | 2434

ПафНутиЙ - 26 октября 2011 00:59 - Админ

Те форумы, о которых я говорил - интегрированы, a BE вообще как модуль для DLE bl`n/

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы