0
我有一個代碼可以在一臺服務器上運行,但不能在另一臺服務器上運行。基本上我們已經寫了一個模板文件,如果URL是discussion_forum,但它顯示的頁面沒有找到,應該使用它。drupal template.php不使用tpl文件
/* discussion forum templates */
$querystring=$_GET['q'];
echo $querystring; // THIS PRINTS page-not-found
$querystring=explode('&',$_GET['q']);
if(!isset ($vars['node']) && $querystring[0]=='discussion-forum'){
$vars['template_files'] = array();
$vars['template_files'][] = 'page-discussion_forum';
}
if (!isset ($vars['node']) && $querystring[0]=='discussion_forum_answer') {
$_SESSION['question_id']=$querystring[1];
$vars['template_files'] = array();
$vars['template_files'][] = 'page-discussion_forum_answer';
}
if(!isset ($vars['node']) && $querystring[0]=='discussion_forum_search'){
$vars['template_files'] = array();
$vars['template_files'][] = 'page-discussion_forum_search';
}
當我給頁面未找到代替討論論壇在$querystring[0]=='discussion-forum'
。它正確顯示頁面。不知道這裏發生了什麼。它在其他服務器上工作正常。
你可以在template.php中添加你添加的位置嗎?它是在preprocess_node,preprocess_page還是別的?只是提示,您可以使用arg()函數而不是獲取q查詢字符串。 –
在_preprocess_page(&$ vars){...中使用它{....也嘗試過使用arg。即使這不起作用 – antnewbee