2012-09-24 78 views
-3

我有PHP代碼:Smarty的變量聲明錯誤

$uid = $xUS['id']; // Current user id 
$uname = $xUS['x_username'];   // Current user name 
$ulink = ''; // Current user profile URL (leave blank for none) 
$upic = $xUS['config_forum_avator_head'];    // Current user 
$ismod = 0;     // Is current user a moderator? 
$sig = md5($uid . $uname . $ismod . 's79tvi40k95bs6mw'); 
$ssoParams = '&uid=' . $uid . "&uname=" . 
urlencode($uname) . "&ulink=" .  urlencode($ulink) . "&upic=" . urlencode($upic) 
. "&ismod=" . $ismod . "&sig=" . $sig;</i> 

我Smarty的模板文件:

<iframe width='550' height='500' src='http://chatroll.com/embed/chat/pibux-chatroom?id=tgybumotNmY&platform=php{$ssoParams}&w=$0' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' allowtransparency='true'></iframe>

在這方面,{$ssoParams}變量返回一個空值。爲什麼?請幫忙。

回答

0

讀Smarty的文檔,例如:http://www.smarty.net/docsv2/en/language.variables.tpl#language.assigned.variables

您需要分配一個變量,如:

$smarty = new Smarty(); 

$smarty->assign('ssoParams', $ssoParams); // assign(smarty var, PHP var); $smarty->display('template_file.tpl');

當然,你需要包括Smarty的文件,定義模板等。

查看基本工作示例e 2.9。這裏: http://www.smarty.net/docsv2/en/installing.smarty.basic.tpl#id2778275

+0

我試過了,但它給出了500內部服務器錯誤。 – user1693893

+0

奇怪。檢查你的路徑是否正確。像這裏:require_once(SMARTY_DIR。'Smarty.class.php');或使用: require_once('path/to/smarty/Smarty.class.php');然後也爲template_dir,compile_dir等,並使用或取消註釋此行,以便您應該接收調試窗口。 ($ smarty-> debugging = true;) 還要確保你調用了正確的模板文件。在這一行中使用您的模板文件的名稱:$ smarty-> display('template_file.tpl');還要嘗試對CHMOD templates_c目錄寫入權限。 755,777或類似的東西。 – StudioArena