0

aboutus.html 中的 {CONSTANT} 怎么能显示“Hello world”。我在 aboutus.php 中定义的?

非常感谢。

aboutus.php - 我已经将 CONSTANT 定义为 hello world。

<?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);

define("CONSTANT", "Hello world.");

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', $user->lang['LOGIN']);
} 

page_header('Title Here');

$template->set_filenames(array(
    'body' => 'aboutus_body.html',
));

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

aboutus_body.html - {CONSTANT} 如何显示“Hello World”。上面定义的?

<h2>About Us2</h2>

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content">
      <p>
         We were founded this year to bring you the best forum on the Internet!

         We promise to do the following:
         <ul>
            <li>Provide new content</li>
            <li>provide a friendly atmosphere</li>
            <li>Provide an environment where you can have fun!</li>
         </ul>
         <p>{CONSTANT}</p>
      </p>
   </div>

   <span class="corners-bottom"><span></span></span></div>
</div>
4

1 回答 1

2

正如您试图定义的那样,模板变量不是传统的 PHP 常量。相反,它们使用模板类的 assign_var()/assign_vars()/assign_block_vars() 方法从 PHP 文件分配给模板。

例如:

<?php
// assign a single template variable
$template->assign_var('CONSTANT', 'Hello World');
/// assign an array of template variables
$template->assign_vars(array(
      'CONSTANT' => 'Hello World',
      'CONSTANT2' => 'Goodbye World',
));
// assign a loop/block
for($i = 0;....)
{
     $template->assign_block_vars('blockname', array(
           'CONSTANT' => 'Hello World',
     ));
}
?>

注意模板变量必须大写,块名必须小写。

然后,您可以像这样调用文件中的变量:{CONSTANT} 对于块:

<!-- BEGIN blockname -->
{blockname.CONSTANT}
<!-- END blockname -->
于 2011-12-09T17:58:23.827 回答