Почему шаблон phpBB не регистрирует эту переменную в search.php?

У меня есть это в моем search.php, вне любых if и функций, в основном в корне документа

$template->assign_var('S_BUSCA_GP', true);

Тем не менее, когда я прихожу к search_results.html и помещаю {S_BUSCA_GP}, он ничего не печатает, также, если я пытаюсь, он рассматривает переменную как несуществующую или ложную, выходя из цикла.

Я сейчас совсем запутался... :/

__ РЕДАКТИРОВАТЬ __

Вот где это, тем не менее, я пробовал это во многих местах на search.php, и все же у меня ничего нет в «представлении», я также пытался назначить строку, я сделал много тестов, прежде чем прийти к вам, ребята ;(

$template->set_filenames(array(
    'body' => 'search_body.html')
);
$template->assign_vars(Array('S_BUSCA_GP' => true, 'LE_VAR_TEST' => 'Variável de Teste'));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));

__ РЕДАКТИРОВАТЬ 2 __

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

phpBB_ROOT/styles/subsilver2/template/search_results.html


person Jorge Ferrari    schedule 21.03.2014    source источник


Ответы (1)


Если вы просто добавляете {S_BUSCA_GP}, то да, он ничего не напечатает, так как нет вывода из var. Если вы сделаете что-то вроде этого:

$template->assign_var('S_BUSCA_GP', 'Hello World');

Это напечатает «Hello World» везде, где вы поместите шаблон var в свой html-файл.

Вы, вероятно, хотите сделать что-то вроде этого:

<!-- IF S_BUSCA_GP -->
   S_BUSCA_GP is set to TRUE
<!-- ELSE -->
   S_BUSCA_GP is set to FALSE
<!-- ENDIF -->

Пока для S_BUSCA_GP установлено значение true, будет отображаться истинное сообщение. в противном случае он покажет ложное сообщение

Изменить

Хорошо, посмотрев на ваше редактирование, я думаю, что понимаю, почему. Я думаю, ваш код помещается внизу, как вы упомянули search_body в своем посте. Вы, вероятно, захотите нацелиться немного выше. Попробуйте строку 1040, найдите этот код:

page_header(($l_search_title) ? $l_search_title : $user->lang['SEARCH']);

$template->set_filenames(array(
    'body' => 'search_results.html')
);
person stckrboy    schedule 21.03.2014
comment
Если по какой-либо причине это все еще не работает, вы можете отредактировать свой пост и добавить 3 или 4 строки кода до и после того места, где вы поместили вызов assign_var в search.php. - person stckrboy; 21.03.2014
comment
Вы пробовали очистить кеш шаблона? Вы можете попробовать добавить случайный текст в html-файл (вне любых операторов if), и если он не отображается, вам следует очистить кеш и снова проверить - person stckrboy; 23.03.2014
comment
уже делал несколько раз, никак не могу найти шаблон поиска, ни в одном из стилей... как-то потерялся ;( - person Jorge Ferrari; 24.03.2014
comment
Хорошо, я думаю, теперь я вижу. Проверьте редактирование внизу моего ответа. Попробуйте разместить свой код немного дальше в search.php и посмотрите, отображается ли HTML - person stckrboy; 24.03.2014
comment
Поместил print_r($_REQUEST) вверху, ничего на "представлении".. :/ - person Jorge Ferrari; 28.03.2014