2017-03-28 14 views
0

overall_footer.html은 편집하지 않아야하는 핵심 phpbb 파일에 의해 제공되므로 핵심 파일을 편집하지 않고 템플릿에 변수를 보내려면 어떻게해야합니까?PHPBB는 overall_footer.html에 템플릿 변수를 보냅니다.

좀 더 구체적으로 말하자면, overall_footer.html 내부의 주석을 사용하여 조건문을 작성하려고하고 있으며 편집 할 파일에 함수 파일 (functions_chat.php)을 포함시켜야합니다. 이것은 올바르게 일어난다.

답변

0

이에 대한 답변이 궁금하신 분은 footer가 실제로 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>&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) : '') 
    ); 
에 할당되는 곳인