2016-01-03 5 views
0

Я не уверен, если им просят правильно, но вот вопрос, и это просто:Smarty массив показать соответствие строки

Я получил массив Smarty с кодом

<td> 
    {foreach from=$referrals item=referral} 
     {$referral.service} - {$referral.service|@count}</br> 
    {/foreach} 
</td> 

И результат таков: Screenshot of array result

Мой массив это:

\t Smarty_Variable Object (3) 
 
->value = Array (29) 
 
    0 => Array (11) 
 
    id => "1433" 
 
    date => "25/12/2015" 
 
    service => "Деловен именик" 
 
    package => "Деловен именик" 
 
    userid => "469" 
 
    amount => "0.00" 
 
    billingcycle => "One Time" 
 
    amountdesc => "0,00 ден. One Time" 
 
    commission => "0,00 ден." 
 
    lastpaid => "Never" 
 
    status => "Active" 
 
    1 => Array (11) 
 
    id => "1434" 
 
    date => "25/12/2015" 
 
    service => "Лого со податоци" 
 
    package => "Лого со податоци" 
 
    userid => "469" 
 
    amount => "0.00" 
 
    billingcycle => "One Time" 
 
    amountdesc => "0,00 ден. One Time" 
 
    commission => "0,00 ден." 
 
    lastpaid => "Never" 
 
    status => "Active" 
 
    2 => Array (11) 
 
    id => "1435" 
 
    date => "25/12/2015" 
 
    service => "Реклама во црно-бела техника на 1/6 -..." 
 
    package => "Реклама во црно-бела техника на 1/6 -..." 
 
    userid => "469" 
 
    amount => "6160.00" 
 
    billingcycle => "One Time" 
 
    amountdesc => "6.160,00 ден. One Time" 
 
    commission => "1.232,00 ден." 
 
    lastpaid => "Never" 
 
    status => "Active" 
 
    3 => Array (11) 
 
    id => "1436" 
 
    date => "25/12/2015" 
 
    service => "Лого со податоци" 
 
    package => "Лого со податоци" 
 
    userid => "470" 
 
    amount => "0.00" 
 
    billingcycle => "One Time" 
 
    amountdesc => "1.848,00 ден. One Time" 
 
    commission => "369,60 ден." 
 
    lastpaid => "Never" 
 
    status => "Active" 
 
    4 => Array (11) 
 
    id => "1437" 
 
    date => "25/12/2015" 
 
    service => "Деловен именик" 
 
    package => "Деловен именик" 
 
    userid => "471" 
 
    amount => "0.00" 
 
    billingcycle => "One Time" 
 
    amountdesc => "0,00 ден. One Time" 
 
    commission => "0,00 ден." 
 
    lastpaid => "Never" 
 
    status => "Active"

Все, что я хочу сделать, это отобразить только строки массива или значение `s с именем« Деловен именик »и отдохнуть от массива, чтобы скрыть. Таким образом, в конце концов, чтобы иметь такой результат: Screenshot final result -wanted

ответ

1

вы пробовали добавления {if} в свой {foreach} -loop?

Это может быть просто так легко, как demonstraded здесь:

<td> 
    {foreach from=$referrals item=referral} 
     {if $referral.service eq "Деловен именик"} 
      {$referral.service} - {$referral.service|@count}</br> 
     {/if} 
    {/foreach} 
</td> 

Однако, это довольно специализированный подход, вы должны изменить шаблон, если вы хотите отфильтровать что-то другое. Если это основа для более общего решения, вам лучше будет кодировать что-то в php, возможно, еще один элемент в вашем массиве для фильтрации.

+0

Я пробовал это пару раз, но я не получаю никакого результата ... даже ошибки. Также я только что отредактировал мой вопрос, я добавлю список массивов (используя {debug}) в свой файл шаблона ... – ViktorG

+0

Какую кодировку вы используете в обоих случаях? Убедитесь, что кодировка вашего файла шаблона smarty и кодировка в ваших php-скриптах одинаковы, иначе 'eq' не будет запускаться. – Bjoern

+0

Да, я просто забыл, что я не редактирую файл шаблона в блокноте ++, вместо этого я отредактировал в CuteFTP :(так что кодировка UTF-8 не работает (не могу сохранить файл как UTF-8) Итак, теперь его okey> http://prntscr.com/9lmger – ViktorG

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

  • Нет связанных вопросов^_^