PHPBB将模板变量发送到total_footer.html
由于totall_footer.html是由一个核心phpbb文件提供的,该文件不应该被编辑,我如何在不编辑核心文件的情况下向模板发送一些变量呢PHPBB将模板变量发送到total_footer.html,php,template-engine,phpbb,Php,Template Engine,Phpbb,由于totall_footer.html是由一个核心phpbb文件提供的,该文件不应该被编辑,我如何在不编辑核心文件的情况下向模板发送一些变量呢 更具体地说,我正在尝试使用totall_footer.html中的注释来执行一个条件语句,并且我还需要在我将要编辑的任何文件中包含一个函数文件(functions_chat.php),以便正确执行此操作。因此,对于任何对此问题的答案感兴趣的人,看起来页脚实际上是在functions.php文件中生成的。位于/包括 function page_f
更具体地说,我正在尝试使用totall_footer.html中的注释来执行一个条件语句,并且我还需要在我将要编辑的任何文件中包含一个函数文件(functions_chat.php),以便正确执行此操作。因此,对于任何对此问题的答案感兴趣的人,看起来页脚实际上是在functions.php文件中生成的。位于/包括
function page_footer($run_cron = true, $display_template = true, $exit_handler = true)
{
global $db, $config, $template, $user, $auth, $cache, $phpEx;
global $request, $phpbb_dispatcher, $phpbb_admin_path;
// A listener can set this variable to `true` when it overrides this function
$page_footer_override = false;
/**
* Execute code and/or overwrite page_footer()
*
* @event core.page_footer
* @var bool run_cron Shall we run cron tasks
* @var bool page_footer_override Shall we return instead of running
* the rest of page_footer()
* @since 3.1.0-a1
*/
$vars = array('run_cron', 'page_footer_override');
extract($phpbb_dispatcher->trigger_event('core.page_footer', compact($vars)));
if ($page_footer_override)
{
return;
}
phpbb_check_and_display_sql_report($request, $auth, $db);
$template->assign_vars(array(
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user, $phpbb_dispatcher),
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited'),
'U_ACP' => ($auth->acl_get('a_') && !empty($user->data['is_registered'])) ? append_sid("{$phpbb_admin_path}index.$phpEx", false, true, $user->session_id) : '')
);
// Call cron-type script
$call_cron = false;
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('_cron.lock_check'))
{
$call_cron = true;
$time_now = (!empty($user->time_now) && is_int($user->time_now)) ? $user->time_now : time();
// Any old lock present?
if (!empty($config['cron_lock']))
{
$cron_time = explode(' ', $config['cron_lock']);
// If 1 hour lock is present we do not call cron.php
if ($cron_time[0] + 3600 >= $time_now)
{
$call_cron = false;
}
}
}
// Call cron job?
if ($call_cron)
{
global $phpbb_container;
/* @var $cron \phpbb\cron\manager */
$cron = $phpbb_container->get('cron.manager');
$task = $cron->find_one_ready_task();
if ($task)
{
$url = $task->get_url();
$template->assign_var('RUN_CRON_TASK', '<img src="' . $url . '" width="1" height="1" alt="cron" />');
}
else
{
$cache->put('_cron.lock_check', true, 60);
}
}
函数页\u页脚($run\u cron=true,$display\u template=true,$exit\u handler=true)
{
全局$db、$config、$template、$user、$auth、$cache、$phpEx;
全局$request、$phpbb_dispatcher、$phpbb_admin_path;
//当侦听器重写此函数时,可以将此变量设置为“true”
$page\u footer\u override=false;
/**
*执行代码和/或覆盖页脚()
*
*@event core.page\u页脚
*@var bool run\u cron我们应该运行cron任务吗
*@var bool page\u footer\u覆盖我们是否返回而不是运行
*页脚()的其余部分
*@自3.1.0-a1起
*/
$vars=array('run_cron','page_footer_override');
提取($phpbb_dispatcher->trigger_事件('core.page_footer',compact($vars));
如果($page\u footer\u override)
{
返回;
}
phpbb检查和显示sql报告($request、$auth、$db);
$template->分配变量(数组)(
'DEBUG_OUTPUT'=>phpbb_generate_DEBUG_OUTPUT($db、$config、$auth、$user、$phpbb_dispatcher),
“翻译信息”=>(!empty($user->lang['TRANSLATION\u INFO'])?$user->lang['TRANSLATION\u INFO']:”,
'CREDIT_LINE'=>$user->lang('POWERED_BY','®;Forum Software©;phpBB Limited'),
'U_ACP'=>($auth->acl_get('a_')&!empty($user->data['is_registered'])?追加\U sid(“{$phpbb_admin_path}索引.$phpEx”,false,true,$user->session id:”)
);
//调用cron类型脚本
$call_cron=false;
如果(!defined('IN_CRON')&&&!$config['use_system_CRON']&&&&$run_CRON&&!$config['board_disable']&&!$user->data['is_bot']&&&!$cache->get('u CRON.lock_check'))
{
$call_cron=true;
$time\u now=(!empty($user->time\u now)&&is\u int($user->time\u now))?$user->time\u now:time();
//有旧锁吗?
如果(!empty($config['cron_lock']))
{
$cron_time=explode(“”,$config['cron_lock']);
//如果存在1小时锁,则不调用cron.php
如果($cron\u time[0]+3600>=$time\u now)
{
$call_cron=false;
}
}
}
//呼叫cron job?
如果($call\u cron)
{
全球$phpbb_集装箱;
/*@var$cron\phpbb\cron\manager*/
$cron=$phpbb_容器->获取('cron.manager');
$task=$cron->find_one_ready_task();
如果($任务)
{
$url=$task->get_url();
$template->assign_var('RUN_CRON_TASK','');
}
其他的
{
$cache->put(“cron.lock\u check”,true,60);
}
}
这是变量分配给模板的地方
$template->assign_vars(array(
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user, $phpbb_dispatcher),
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited'),
'U_ACP' => ($auth->acl_get('a_') && !empty($user->data['is_registered'])) ? append_sid("{$phpbb_admin_path}index.$phpEx", false, true, $user->session_id) : '')
);
$template->分配变量(数组)(
'DEBUG_OUTPUT'=>phpbb_generate_DEBUG_OUTPUT($db、$config、$auth、$user、$phpbb_dispatcher),
“翻译信息”=>(!empty($user->lang['TRANSLATION\u INFO'])?$user->lang['TRANSLATION\u INFO']:”,
'CREDIT_LINE'=>$user->lang('POWERED_BY','®;Forum Software©;phpBB Limited'),
'U_ACP'=>($auth->acl_get('a_')&!empty($user->data['is_registered'])?追加\U sid(“{$phpbb_admin_path}索引.$phpEx”,false,true,$user->session id:”)
);