Магазин
Правила Ответы на вопросы Конфиденциальность
Магазин
Правила Ответы на вопросы Конфиденциальность
  • Быстрые действия Ярлыки
    Общие действия
    Связаться с администрацией
    • Бот

       

Вопросы, ответы и примеры решений

  • Список форумов
  • ppkBB3cker
  • Вопросы, ответы и примеры решений

Вывод данных из php в другой темплейт при указании параметра

Сложный вопрос (ну для меня это точно =))

9 сообщений
 • Страница 1 из 1
Просмотры: 454 • 
Tetrix
Благодаривший
Сообщения: 207
Зарегистрирован: 06 июн 2010, 23:23
Сообщение 11 ноя 2010, 10:48
Идея такая, на примере вьюфорума допустим, можно ли сделать так:
при запросе 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 файлов, ведь можно создать еще один вьюфорум.пхп и ему назначить другие темплейты, но не хочется =) итак форум тяжелый (у меня :D ) еще сильнее его нагружать - ну его нафик.

Умельцы - объясните!!!!! Помогите, спасите!
Tetrix
Аватара пользователя
serrrios
Донатор
Сообщения: 1532
Зарегистрирован: 29 май 2009, 20:22
Сообщение 11 ноя 2010, 11:18
Набросал на коленке, по идеи должно работать:
Открываем 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 - мои платные услуги по трекеру.
serrrios
Tetrix
Благодаривший
Сообщения: 207
Зарегистрирован: 06 июн 2010, 23:23
Сообщение 11 ноя 2010, 11:28
serrrios
как я понял сам модификатор нужно вписывать в

Код: Выделить всё

if($mode == ' ')
между апострофами?
типа так:

Код: Выделить всё

if($mode == ' модификатор')
Последний раз редактировалось Tetrix 11 ноя 2010, 11:29, всего редактировалось 1 раз.
Tetrix
Аватара пользователя
serrrios
Донатор
Сообщения: 1532
Зарегистрирован: 29 май 2009, 20:22
Сообщение 11 ноя 2010, 11:30
Ога.
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
serrrios
Tetrix
Благодаривший
Сообщения: 207
Зарегистрирован: 06 июн 2010, 23:23
Сообщение 11 ноя 2010, 11:33
а все, понял, кажись.
Спасибо, попробую вечером, отпишусь.
Tetrix
Tetrix
Благодаривший
Сообщения: 207
Зарегистрирован: 06 июн 2010, 23:23
Сообщение 12 ноя 2010, 05:31
во вьюфоруме не работает:

Код: Выделить всё

[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
как я понял эту переменную как-то надо объявить что-ле там.
Буду разбираться на примере вьютопика, но боюсь тщетно, поэтому смиренно жду помощи :D
Tetrix
Tetrix
Благодаривший
Сообщения: 207
Зарегистрирован: 06 июн 2010, 23:23
Сообщение 12 ноя 2010, 05:57
так проблему решил.
надо дописать:

Код: Выделить всё

// Start initial var setup
...blah-blah...
$mode		= request_var('mode', '');
только теперь такая проблема, если ввести в строке &mode=(любое другое значение кроме anothertpl или пустоты)
Выходит ошибка:

Код: Выделить всё

template->_tpl_load(): No file specified for handle body
все понятно, это кстати мной и ожидалось, поэтому и проверил, но как исправить??????? :cry: :cry: :cry:
Tetrix
Tetrix
Благодаривший
Сообщения: 207
Зарегистрирован: 06 июн 2010, 23:23
Сообщение 12 ноя 2010, 06:05
Всем спасибо, всем отбой, решил так,
вместо

Код: Выделить всё

if($mode == ' ')
Поставил

Код: Выделить всё

if($mode != 'anothertpl ')
т.е. если не равняется нужному значению - грузить обычный, равняется - грузить другой.
Tetrix
Аватара пользователя
serrrios
Донатор
Сообщения: 1532
Зарегистрирован: 29 май 2009, 20:22
Сообщение 12 ноя 2010, 09:34
Ну да, так правильней =)
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
serrrios
9 сообщений
 • Страница 1 из 1

Вернуться в «Вопросы, ответы и примеры решений»

Time: 0.000s | Queries: 0 | Peak Memory Usage: 0.00 МБ | GZIP: Unknown | SQL Explain
  • Список форумов
2018, made with by ThemeKita Создано на основе phpBB® Forum Software © phpBB Limited Русская поддержка phpBB (C) 2009-2025 @ PPK
  • Часовой пояс: UTC+04:00
Участники темы
Список форумов Участники темы
Перейти
Сайт ↳   Новости по сайту ↳   Новости обновлений ↳   Вопросы по сайту ↳   Non-russian speakers forum phpBB 3.1-3.3 ↳   Вопросы по phpBB 3.1-3.3 ↳   Расширения для phpBB 3.1-3.3 ↳   Условно-бесплатные расширения ↳   Платные расширения ↳   Расширения для подписчиков ↳   Расширения в разработке ↳   База расширений ↳   Стили для phpBB 3.1-3.3 ↳   Переводы расширений для phpBB3.1-3.3 ↳   Поиск и запросы расширений ↳   Запросы расширений, функционала и переводов для подписчиков ppkBB3cker ↳   Новости по трекеру и обновлениям ↳   Ошибки, проблемы, недочёты ↳   Предложения по новым функциям и возможностям ↳   Вопросы, ответы и примеры решений ↳   Моды и стили для трекера ↳   Готовые стили для трекера ↳   Запросы стилей для трекера ↳   Стили в разработке ↳   Готовые моды для трекера ↳   Запросы модов для трекера ↳   Моды в разработке ↳   Остальное ↳   F.A.Q. ↳   Ваши трекеры ↳   Оффтопик xbtBB3cker ↳   Новости по трекеру и обновлениям ↳   Вопросы, ответы, ошибки и обсуждение phpBB 3.0 ↳   Другие моды для phpBB3 ↳   Минимоды и хаки для phpBB3 ↳   Вопросы по phpBB3 ↳   phpBB3 ppkBB3cker Edition ↳   Платные услуги, моды, стили ↳   BB2Spoiler/BB3Spoiler ↳   BB3Topics ↳   BB3Sape ↳   BB3UserAgentInfo