Alfabetik bir dizi sipariş için belirli smarty işlevi var mı?

2 Cevap php

Ben bir çoklu dil web sitesi için bir smarty şablon kullanıyorum. Ben (örneğin Birleşik Krallık "U" kalmak ülke adı gibi İngilizce sürümü için doğru sırayla ancak diğer diller için hiçbir Tamam Tamam ülke kodu ile sipariş ülkenin bir dizi var oysa Fransızca bu baskılar "Royaume Uni".

Alfabetik bir dizi sipariş smarty işlevi var mı?

2 Cevap

Sen gibi smarty bunu atamadan önce sıralamak gerekiyor:

asort($countryList);
$smarty->assign($countryList);

Kullanın:

Böyle Smarty bir dizi (@ önek değiştirici tüm dizi değil, her element için uygulanan anlamına gelir) için bir değiştirici uygulayabilirsiniz:

$array|@some_modifier

O geçti diziyi değiştirir ve oldukça değiştirilmiş bir dizi dönen daha boolean döndürür, çünkü asort(), ancak bir değiştirici olarak çalışmaz. Ancak, örneğin, kendi işlevini tanımlamak ve bir değiştirici olarak bu kullanabilirsiniz

function sort_array($array) {
    asort($array);
    return $array;   
}

Sonra Smarty gibi bir şey yapabilirsiniz

{foreach from=$array|@sort_array item=val}
    {$val}
{/foreach}