【问题标题】:PHPBB send template variable to overall_footer.htmlPHPBB 将模板变量发送到overall_footer.html
【发布时间】:2017-03-28 23:40:09
【问题描述】:

由于overall_footer.html 由不应编辑的核心phpbb 文件提供服务,我将如何在不编辑核心文件的情况下将一些变量发送到模板?

更具体一点,我正在尝试在overall_footer.html 中使用cmets 做一个条件语句,并且我还需要在我将要编辑的任何文件中包含一个函数文件(functions_chat.php)来制作这个正确发生。

【问题讨论】:

    标签: php template-engine phpbb


    【解决方案1】:

    因此,对于任何对此问题的答案感到好奇的人,似乎页脚实际上是在 functions.php 文件中生成的。位于 /includes

        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>&reg; Forum Software &copy; 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);
            }
        }
    

    这是变量被分配给模板的地方

    $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>&reg; Forum Software &copy; 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) : '')
        );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 2019-07-13
      相关资源
      最近更新 更多