Идея такая, на примере вьюфорума допустим, можно ли сделать так:
при запросе viewforum.php&f=XXX - использовался бы темплейт viewforum_body.html или viewforum_tracker_body.html - как и стандартно, а при запросе вида: viewforum.php&f=XXX?mode=anothertpl - допустим viewforum_body_anothertpl.html и соответственно viewforum_tracker_body_anothertpl.html
Достаточно одного такого параметра, т.е. мне просто нужен механизм вывода контента в другом виде, но без задваивания php файлов, ведь можно создать еще один вьюфорум.пхп и ему назначить другие темплейты, но не хочется =) итак форум тяжелый (у меня ) еще сильнее его нагружать - ну его нафик.
Умельцы - объясните!!!!! Помогите, спасите!
Вывод данных из php в другой темплейт при указании параметра
Сложный вопрос (ну для меня это точно =))
Сообщение
Вывод данных из php в другой темплейт при указании параметра
Набросал на коленке, по идеи должно работать:
Открываем viewtopic.php
Находим: Добавляем после: Находим:Меняем на:
Открываем viewtopic.php
Находим:
Код: Выделить всё
$user->session_begin();
$auth->acl($user->data);
Код: Выделить всё
$mode=request_var('mode', '');
Код: Выделить всё
if($forum_astracker)
{
$template->set_filenames(array(
'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_tracker_body.html')
);
}
else
{
$template->set_filenames(array(
'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_body.html')
);
}
Код: Выделить всё
if($mode == '')
{
if($forum_astracker)
{
$template->set_filenames(array(
'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_tracker_body.html')
);
}
else
{
$template->set_filenames(array(
'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_body.html')
);
}
}
if($mode == 'anothertpl')
{
if($forum_astracker)
{
$template->set_filenames(array(
'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_tracker_body_anothertpl.html')
);
}
else
{
$template->set_filenames(array(
'body' => ($view == 'print') ? 'viewtopic_print.html' : 'viewtopic_body_anothertpl.html')
);
}
}
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
-
Te
Сообщение
Вывод данных из php в другой темплейт при указании параметра
serrrios
как я понял сам модификатор нужно вписывать в
между апострофами?
типа так:
как я понял сам модификатор нужно вписывать в
Код: Выделить всё
if($mode == ' ')
типа так:
Код: Выделить всё
if($mode == ' модификатор')
Последний раз редактировалось Tetrix 11 ноя 2010, 11:29, всего редактировалось 1 раз.
Сообщение
Вывод данных из php в другой темплейт при указании параметра
Ога.
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
-
Te
Сообщение
Вывод данных из php в другой темплейт при указании параметра
а все, понял, кажись.
Спасибо, попробую вечером, отпишусь.
Спасибо, попробую вечером, отпишусь.
-
Te
Сообщение
Вывод данных из php в другой темплейт при указании параметра
во вьюфоруме не работает:
как я понял эту переменную как-то надо объявить что-ле там.
Буду разбираться на примере вьютопика, но боюсь тщетно, поэтому смиренно жду помощи
Код: Выделить всё
[phpBB Debug] PHP Notice: in file /viewforum.php on line 155: Undefined variable: mode
[phpBB Debug] PHP Notice: in file /viewforum.php on line 170: Undefined variable: mode
Буду разбираться на примере вьютопика, но боюсь тщетно, поэтому смиренно жду помощи
-
Te
Сообщение
Вывод данных из php в другой темплейт при указании параметра
так проблему решил.
надо дописать:
только теперь такая проблема, если ввести в строке &mode=(любое другое значение кроме anothertpl или пустоты)
Выходит ошибка:
все понятно, это кстати мной и ожидалось, поэтому и проверил, но как исправить???????
надо дописать:
Код: Выделить всё
// Start initial var setup
...blah-blah...
$mode = request_var('mode', '');
Выходит ошибка:
Код: Выделить всё
template->_tpl_load(): No file specified for handle body
-
Te
Сообщение
Вывод данных из php в другой темплейт при указании параметра
Всем спасибо, всем отбой, решил так,
вместо
Поставил
т.е. если не равняется нужному значению - грузить обычный, равняется - грузить другой.
вместо
Код: Выделить всё
if($mode == ' ')
Код: Выделить всё
if($mode != 'anothertpl ')
Сообщение
Вывод данных из php в другой темплейт при указании параметра
Ну да, так правильней =)
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
Вернуться в «Вопросы, ответы и примеры решений»