Ile dizi değişkenin Smarty echo "-"

1 Cevap php

PHP denetleyicisi gibi görünüyor değişken var

$data['content']['mods']['HTML-FORM-END']['html']

Bu smarty de güzel geçti, ama ben bu yollardan herhangi göstermeye çalıştığınızda, o da 0 (operatörü olarak eksi varsayar ve bazı matematik yapar) gösterir, ya da "tanınmayan etiketi" diyor edilir

{$data.content.mods.HTML-FORM-BEGIN.html}
{$data.content.mods['HTML-FORM-BEGIN']['html']}
{$data.content.mods.HTML-FORM-BEGIN.html}
{$data.content.mods.HTML-FORM-BEGIN.html}

Nasıl i denetleyicisi dizi anahtarı yeniden adlandırma olmadan yazdırabilirsiniz?

1 Cevap

Controller içinde örnek referans takımı 'HTML-FORM-SONU' ama görünümünde 'HTML-FORM-BAŞLAMADAN' ama o senin sorunun değil kabul edeceğiz ve hem de mevcut. Bu nasıl?

{$data[content][mods][HTML-FORM-BEGIN][html]}

Ben ne bulabilirsiniz bakıldığında Smarty bir çok boyutlu diziye aşağı almak için tek yol döngüler ile olduğu görülmektedir. Belki bunun yerine kolay erişim sağlamak için denetleyicisi vekillerimizin içine dizi bölünmüş olabilir:

foreach($data['content']['mods'] as $key => $values) {
  $smarty->assign('content_mods_' . $key, $values['html'];
}

ve sonra bu gibi şablonu onları referans olabilir:

{$content_mods_HTML-FORM-BEGIN}
{$content_mods_HTML-FORM-END}
// etc.