在Smarty模板中显示基于数组变量的字符串

时间:2016-03-29 15:59:52

标签: php smarty

大家都希望显示用户的角色是我的代码

if (isset($_SESSION['loggeduser_id']) && $_SESSION['loggeduser_id'] > 0)  {
$loggeduser_id = $_SESSION['loggeduser_id'];
}
if ($loggeduser_id > 0) {

$user = new user();
$role = $user->getrole($loggeduser_id);
$smarty->assign("role",$role);
}

当我输入var_dump($role);

它告诉我

array(2) {
[0]=>
string(3) "vip"
["role"]=>
string(3) "vip"
}

所以我想在tpl页面的用户配置文件中显示一个类,如果是vip用户我尝试这样做而且它不能正常工作

{if $role eq vip}<span class="user-vip-icon"></span>{/if}

请你帮帮我

2 个答案:

答案 0 :(得分:0)

假设你有$ role作为数组,$ role包含数组(“vip”,“vip”); 所以这应该有用

$role = array("vip", "vip"); // Your ROle
if (in_array("vip", $role)) {
    echo '<span class="user-vip-icon"></span>';
}

if ($role['role'] == "vip") {
    echo '<span class="user-vip-icon"></span>';
}

或Smarty模板代码

{if $role['role'] == 'vip'}<span class="user-vip-icon"></span>{/if}

答案 1 :(得分:0)

谢谢大家的帮助 我找到了解决方案 我只是做那个

$smarty->assign("role",$role["role"]);代替$smarty->assign("role",$role);

我把它放在模板{if $role eq 'vip'}<span class="user-vip-icon"></span>{/if}