为什么phpBB模板没有在search.php中注册这个var?

时间:2014-03-21 13:42:56

标签: phpbb phpbb3

我在search.php中有这个,在任何if和函数之外,主要是在文档的根目录

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

然而,当我来到search_results.html并放置{S_BUSCA_GP}它没有打印任何内容,如果我尝试它将var视为不存在或错误,则退出循环。

我现在几乎失去了......:/

__编辑__

这就是它在哪里,我仍然在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 /风格/ subsilver2 /模板/ search_results.html

1 个答案:

答案 0 :(得分:2)

如果您只是添加{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')
);