2016-03-29 2 views
0

Привет все хотят, чтобы отобразить роль пользователя ее мой кодОтображение строки на основе массива переменных в шаблоне 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} 

Может у меня помочь, пожалуйста

+0

если вы видите ваши $ роль содержит массив, используя $ роль [0] или $ роль [1] будет делать всю работу за вас! –

+0

так как может быть код –

+0

'{if $ role ['role'] eq vip}' вместо '{if $ role eq vip}' –

ответ

0

Спасибо ребята за помощь мне, я есть найти решение я просто сделать что

$smarty->assign("role",$role["role"]); вместо $smarty->assign("role",$role);

и я положил, что в шаблоне {if $role eq 'vip'}<span class="user-vip-icon"></span>{/if}

0

Если у вас есть $ роль массива и $ роль содержит массив ("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} 
+0

это не работает, все равно дайте мне пустую страницу –

+0

Это не даст вам пустую страницу, вы необходимо выйти из источника, так как это теги html, они будут видимым элементом проверки просмотра или источником просмотра. Повторите проверку. –

+0

Обратите внимание, что речь идет о написании шаблонов [Smarty] (http://smarty.net), а не эхом в PHP напрямую. – IMSoP

Смежные вопросы