Хуки: переменная не отображается в заголовке окна браузера

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
neytral
phpBB 1.0.0
Сообщения: 6
Стаж: 12 лет 11 месяцев

Хуки: переменная не отображается в заголовке окна браузера

Сообщение neytral »

Здравствуйте.

При беглом осмотре решил написать здесь и аналогичной темы не заметил.

Успешно воспользовался вашей статьёй про "Создание дополнительных (произвольных) страниц в стиле конференции".

Но. Применил Hook system.

Всё бы ничего, но если бы языковая переменная, объявленная через хуки действительно отображались в заголовке окна браузера. Но увы, это не так. При этом значение той же переменной корректно отображается в шапке форума (когда она описана в html-файле). Сразу отмечу, если переменную объявляю скажем в /ru/common.php - всё работает.

Выбрал хуки как прогрессивный метод, чтобы была возможность легче ставить моды и обновление. Есть ли какое-то решение, чтобы сохранить использование только хуков или мне придётся выбирать или или?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение Татьяна5 »

Покажите код вашей произвольной страницы и код хука
neytral
phpBB 1.0.0
Сообщения: 6
Стаж: 12 лет 11 месяцев

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение neytral »

Код страницы:

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

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$page_title = $user->lang['CONTACT_US'];
page_header($page_title);
$template->set_filenames(array(
    'body' => 'contact_us.html'
));
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Код хука:

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

<?php
$lang = array_merge($lang, array(
    'RULES'	=> 'Правила',
	
	'TERMS' => 'вапвапвапава',
	
	'CONTACT_US' => 'Связь',
	
	'CONTACT_US_EXPLAIN' => 'Связаться с нами',
	
	'CONTACT_US_CONTENT' => 'вапвапвапвапва'
));
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение Татьяна5 »

Второй код - не хук, а языковой файл. Сохраните его в папке language/ru/mods и подключите к своей странице

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

$user->setup('mods/название_языкового_файла_без_расширения');
neytral
phpBB 1.0.0
Сообщения: 6
Стаж: 12 лет 11 месяцев

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение neytral »

Ошибся в терминологии. Всё так и есть на самом деле. Высылаю содержание хука (includes/hooks/hook_links.php):

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

<?php
function gen_links()
{
    global $phpbb_root_path, $phpEx, $template, $user;
	$user->add_lang('mods/links');
	$template->assign_vars(array(
        'U_RULES'	=> append_sid("{$phpbb_root_path}rules.$phpEx"),
		'U_CONTACT_US'	=> append_sid("{$phpbb_root_path}contact_us.$phpEx")	
    ));
}
 
$phpbb_hook->register(array('template', 'display'), 'gen_links');
?>
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение Татьяна5 »

Файлы, подключаемые внутри функции, и не должны работать за ее пределами (в других php-файлах). Подключите языковой файл на своей странице.
neytral
phpBB 1.0.0
Сообщения: 6
Стаж: 12 лет 11 месяцев

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение neytral »

Спасибо. Всё работает.

В принципе этот ответ есть в статье "Создание дополнительных (произвольных) страниц в стиле конференции". Но как-то не сопоставил одно с другим.

Спасибо вам.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение Sheer »

Можно и к хуку языковой файл подключить http://www.phpbbguru.net/useful/codeboo ... tem-usage/
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение Татьяна5 »

Sheer, он там и так подключен
neytral писал(а):

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

$user->add_lang('mods/links');
Речь о том, что вызвать переменную из объявленного в хуке языкового файла в другом php-скрипте форума (через $user->lang) невозможно. Ее там нет и быть не должно.
Аватара пользователя
bumbr
phpBB 1.4.4
Сообщения: 129
Стаж: 15 лет 3 месяца
Откуда: Беларусь
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Re: Хуки: переменная не отображается в заголовке окна браузе

Сообщение bumbr »

Sheer писал(а):Можно и к хуку языковой файл подключить http://www.phpbbguru.net/useful/codeboo ... tem-usage/
Я так пробовал, у меня почему то русский работает, а если переключить в панели юзера на англ., то переменные выводятся всё-равно на русском. Файла языковых создавал два, русский и английский.

Вернуться в «Поддержка phpBB 3.0.х»