Перейти к содержимому
Русский язык для Invision Community 5

Определение номера подфорума в globalTemplate

Подскажите, почему в шаблоне boardIndexTemplate такой код работает:

<if test="$_data['cat_data']['id']=='16'">
.....
.....
</if>

 

А в шаблоне globalTemplate не работает. Переменная $_data['cat_data']['id'] не содержит никакого значения. Как в globalTemplate получить номер форума в котором сейчас находимся?

Изменено пользователем tolik777

Рекомендованные сообщения

Во входящие переменные глобального шаблона пробовали эту добавлять?

 $cat_data=array()

  • Автор

Сейчас попробовал добавить.

 

А в шаблоне прописал <php>var_dump( $cat_data); </php>

Итог: пустой массив

Тему перенесу, вопрос к дизайну не относится и я помочь не могу.

 

Могу предположить, что изменения нужно сделать и в файлах форума тоже.

@tolik777, лол, ерунду какую-то городите.

 

Во-первых, у каждого шаблона свой набор переменных, что в него передаются. Если в boardIndexTemplate что-то там передается, это не означает, что эта же переменная будет и в globalTemplate. Но всегда можно наладить обмен данными между шаблонами через $GLOBALS, важно только учитывать, что шаблоны обрабатываются от частного к общему, т.е. globalTemplate всегда парсится последним, и из него что-либо передать "вниз" никак не выйдет.

 

Во-вторых, $_data['cat_data']['id'] - это переменная внутри цикла прохода по категориям. С какого перепугу она вообще может потребоваться в globalTemplate, и какое именно из значений нужно и зачем, учитывая, что их в цикле несколько?

  • Автор

Ну я в шаблонах не разбираюсь. Может быть и так как вы говорите, не спорю. Не программист.

Вопрос в общем то такой: Как в globalTemplate получить номер форума в котором сейчас находимся?

Как в globalTemplate получить номер форума в котором сейчас находимся?

Вообще здесь надо начать с того что boardIndexTemplate это список категории форумов на главной, а не "форум в котором сейчас находимся". Шаблон форума находится по адресу Список тем форума -> forumIndexTemplate.

 

 

Если я правильно понял и речь идет о форуме

forumIndexTemplate

<php> $GLOBALS['forum_data'] = $forum_data; </php>

 

globalTemplate

<php> print_r( $GLOBALS['forum_data'] ); </php>

 

Или просто $this->request['f'] - ид форума

  • Автор

siv1987 большое спасибо!

$this->request['f'] - оказалось то, что мне нужно

Изменено пользователем tolik777

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.