Smarty (PHP) ikinci bir dizi anahtar olarak kullanarak bir dizi

4 Cevap php

Ben, benim kodunda çalışan iki döngüler, ikinci bir dizi anahtar olarak bir diziden bir öğeyi kullanmak istiyorum, ama Smarty ile bunu nasıl emin oluyorum.

"$dateAndUserForEdit.$key.edit_id" (db çekti) bir tamsayı içeren

Ben tamsayı harcode eğer iyi çalışır ikinci bir döngü içinde anahtar olarak bu değeri kullanmak istiyorsanız:

{foreach from=$historyOfRepair.9 key=key item=i}

Ben çalışıyorum türden bir şey için sözde kodu:

{foreach from=$historyOfRepair.{$dateAndUserForEdit.$key.edit_id} key=key item=i}

Ama tabii, bu işe yaramazsa! Herkes yardımcı olabilir?

4 Cevap

Sonraki şey gibi (şu anda test edemez) çalışabilir:

{assign var=edit_id value=$dateAndUserForEdit.$key.edit_id}
{foreach from=$historyOfRepair.$edit_id key=key item=i}

Bu hile eski sürümleri için gerekli olup olmadığını bilmiyorum, ama (ben şimdi oldukça uzun bir süre için inanıyorum) yapabilirsiniz:

verilen:

{$someArray.someKey=9}
{$otherArray.9=$someValue}

Eşdeğer:

{$otherArray[$someARray.$someKey]=$someValue}

I'm only commenting here because no one has given you any advice yet... I have never used Smarty as I've always just made my own templating systems (So I might be ignorant here and my advice useless)...

Sadece smarty olmadan dizisi inşa ve sonra görüntülemek için Smarty için iletebilirsiniz? Şahsen, oldukça özel bir şablon motoru koduyla karmaşa daha, ben temel şeyler dışında bir şey için ne yapacağını muhtemelen.

Ben Arvo ile kabul ediyorum. Bunu foreach döngü içinde bir ikamesi olarak kullanılabilir, böylece geçici bir değişkene id atamak istediğiniz olacaktır. Onun örnek kodda, $ anahtar değeri $ historyOfRepair dizinin geçerli öğenin anahtarı ile değiştirilecektir unutmayın. Aksi halde bu (çok :) test) çalışır.