Написать if на смарти

Статус
В этой теме нельзя размещать новые ответы.

repacksman

Участник
Регистрация
12 Июн 2012
Сообщения
154
Реакции
4
Помогите написать if для текущего кода чтоб когда количество option равно один чтоб к form добавить {if}style="display: none;" {/if}
Код:
<form method="GET">
  <select name="selected_user">
  {foreach item=cur_user_login from=$user_logins}
  <option {if $selected_user==$cur_user_login} selected="selected" {/if}>{$cur_user_login}</option>
  {/foreach}
  </select>
<input type="submit" value="ОК">
</form>
 
Можно через javascript:

Код:
<script>
  if($('select').size() == 1){
      $('select').hide();
  }
</script>
 
не понятно что вы хотите, но тут нужен счетчик

PHP:
$count = 0;
<form method="GET" class="myForm">
  <select name="selected_user">
  {foreach item=cur_user_login from=$user_logins}
  <option {if $selected_user==$cur_user_login} selected="selected" {/if}>{$cur_user_login}</option>
$count++;
  {/foreach}
  </select>
{if $count == 1}
echo '<style>.myForm { display: none; }</style>';
{/if}
<input type="submit" value="ОК">
</form>

как то так, надо присвоить форме класс, в котором дисплей прописывать в зависимости от условия
 
Последнее редактирование:
Проверить не могу, не факт что будет работать, нужно смотреть что за массив, но можно еще попробовать так:


Код:
{if $user_logins|@count == 1}<form method="GET" style="display:none">{else}<form method="GET">{/if}
  <select name="selected_user">
  {foreach item=cur_user_login from=$user_logins}
  <option {if $selected_user==$cur_user_login} selected="selected" {/if}>{$cur_user_login}</option>
  {/foreach}
  </select>
<input type="submit" value="ОК">
</form>
 
Ни один из вариантов не работает
 
а можно вопрос? Зачем скрывать форму?
Не проще ли сделать так:

Код:
{if is_array($user_logins) && count($user_logins) > 1}
<form method="GET">
    <select name="selected_user">
    {foreach item=cur_user_login from=$user_logins}
    <option {if $selected_user==$cur_user_login} selected="selected" {/if}>{$cur_user_login}</option>
    {/foreach}
    </select>
<input type="submit" value="ОК">
</form>
{else}
Тут альтернативный код
{/if}
 
а можно вопрос? Зачем скрывать форму?
Не проще ли сделать так:

Код:
{if is_array($user_logins) && count($user_logins) > 1}
<form method="GET">
    <select name="selected_user">
    {foreach item=cur_user_login from=$user_logins}
    <option {if $selected_user==$cur_user_login} selected="selected" {/if}>{$cur_user_login}</option>
    {/foreach}
    </select>
<input type="submit" value="ОК">
</form>
{else}
Тут альтернативный код
{/if}
Код работает! Спасибо
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху