Переменные phpBB в подключаемом javascript

Проблемы с установкой или работой 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) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Переменные phpBB в подключаемом javascript

Сообщение Shredder »

Столкнулся с тем, что в подключаемом js, вроде этого: <script type="text/javascript" src="{T_TEMPLATE_PATH}/tooltip.js"></script> - перестают работать все переменные: и языковые, и T_TEMPLATE_PATH, T_THEME_PATH и т.д. Что только не делал - бесполезно. Поиск тоже ничего не дал. При вставке кода непосредственно в шаблон - без выноса в отдельный файл - всё начинает работать.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Переменные phpBB в подключаемом javascript

Сообщение Nekstati »

Первый путь — передавать phpBB-переменные как аргументы JS-функций. Предположим, файл tooltip.js состоит из одной функции tooltip(). Вызов этой функции в шаблоне записываем так:

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

<script type="text/javascript">
        tooltip({T_TEMPLATE_PATH}, {T_THEME_PATH});
</script>
Ну и саму функцию соответственно слегка переделываем:

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

function tooltip(template_path, theme_path) {
        ........
}
и подставляем переменные template_path, theme_path на нужные места в теле функции.


Другой путь — объявлять в overall_header.html глобальные JS-переменные, добавляя их в уже существующий список:

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

	var jump_page = '{LA_JUMP_PAGE}:';
	var on_page = '{ON_PAGE}';
	var per_page = '{PER_PAGE}';
	var base_url = '{A_BASE_URL}';
	var style_cookie = 'phpBBstyle';
	var style_cookie_settings = '{A_COOKIE_SETTINGS}';
Далее в скриптах просто подставляете переменные on_page, per_page и т. п.

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