2014-05-22 67 views
1

聲明我用,如果在我的PHPBB模板語句,例如enable如果在外部PHPBB頁面

<!-- IF S_USERNAME eq 'Stoker' -->Some content here<!-- ENDIF --> 

這個偉大的工程和真的很好。但是,我添加了一些額外的頁面,爲了確保我仍然可以調用諸如他們的用戶名之類的值,我不得不將這些代碼添加到新頁面的每個標題中。

define('IN_PHPBB', true); 
define('ROOT_PATH', "../"); 

if (!defined('IN_PHPBB') || !defined('ROOT_PATH')) { 
    exit(); 
} 

$phpEx = "php"; 
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : ROOT_PATH . '/'; 
include($phpbb_root_path . 'common.' . $phpEx); 

$user->session_begin(); 
$auth->acl($user->data); 

這很好,我可以呼叫和回顯用戶名,例如。

然而,如果語句只是不工作,所以如果我也嘗試

<!-- IF S_USERNAME eq 'Stoker' -->Some content here<!-- ENDIF --> 

它只是不工作,則顯示「這裏的某些內容」,但我知道,如果語句不工作。我是否在頭中缺少一些代碼,以便我可以在PHPBB中使用if語句?

+0

您是否試圖在.php文件或單獨的.html模板文件中使用'IF'語句? – Eeji

+0

Eeji正確,我試圖在PHP文件中使用它們,但在HTML中引用它。不幸的是,我被告知它只是不能工作,所以訴諸本地PHP。 – user3615703

回答

1

如果您正在使用原始PHP,那麼你可以使用這樣的事情:

if ($user->data['username'] == 'Stoker') { 
    // Do whatever needs doing 
} 

,或者使最終的代碼看起來有點清潔分配$user->data['username']一個更簡潔尋找變量,如:

$username = $user->data['username']; 
if ($username == 'Stoker') { 
    // Do whatever needs doing 
} 

或者,你可以讓你額外的頁面使用的模板系統看起來完全一樣,他們「屬於」到同一網站的論壇.....

extrapage.php將在同一目錄坐作爲根的index.php,看起來像這樣: (如果你想在一個子文件夾,只需更改$phpbb_root_path,以適應)

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

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

page_header('Title Here'); // this is used in the page title 

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

// Any PHP you need to use goes here, including assigning any additional template variables etc 

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

然後在/styles/your_style/template/你將有你的模板文件extrapage.html ...

<!-- INCLUDE overall_header.html --> 

<p>Your HTML goes here, you can use any global template variable in addition to variables declared in the above PHP file</p> 

<!-- INCLUDE overall_footer.html --> 
0

由於此處沒有任何進展,在分析並與支持團隊溝通 團隊時,確認無法執行此操作,因爲引擎僅支持 自己的模板文件。

外部頁面必須使用本機PHP如果語句不可用,並且不能使用模板If語句。