What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{foreach} dipakai untuk mengulang terus-menerus melalui array asosiatif juga array-diindeks secara numerik, tidak seperti {section} yang untuk mengulang melalui hanya array-diindeks secara numerik. Sintaks untuk {foreach} jauh lebih mudah daripada {section}, tapi sebagai imbalannya hanya bisa dipakai untuk array tunggal. Setiap tag {foreach} harus dipasangkan dengan tag {/foreach} penutup.
Attribute Name | Type | Required | Default | Description |
---|---|---|---|---|
from | array | Yes | n/a | Array yang anda ulang terus |
item | string | Yes | n/a | Nama variabel yang jadi elemen saat ini |
key | string | No | n/a | Nama variabel yang saat ini jadi kunci |
name | string | No | n/a | Nama perulangan foreach untuk mengakses properti |
Atribut yang diperlukan adalah from dan item.
Name dari pengulangan {foreach} bisa apa saja yang anda sukai, terdiri dari huruf, angka dan garis bawah, seperti variabel PHP.
Pengulangan {foreach} bisa diulang terus, dan nama {foreach} yang diulang harus unik dari yang lain.
Atribut from, biasanya sebuah array nilai, menetapkan jumlah berapa kali {foreach} akan diulang.
{foreachelse} dijalankan ketika tidak ada nilai dalam variabel from.
Pengulangan {foreach} juga memiliki variabelnya sendiri yang menangani properti. Ini diakses dengan: {$smarty.foreach.name.property} dengan "name" menjadi atribut name.
Catatan: Atribut name hanya diperlukan saat anda ingin mengakses properti {foreach}, tidak seperti {section}. Mengakses properti {foreach} dengan name tidak terdefinisi tidak menimbulkan kesalahan, tapi sebaliknya mengakibatkan hasil yang tidak diinginkan.
Properti {foreach} adalah index, iteration, first, last, show, total.
Teladan 7-6. Mendemonstrasikan atribut item dan key
Template untuk ditampilkan $myArray sebagai pasangan kunci/nilai, seperti foreach PHP.
Contoh di atas akan menampilkan:
|
Teladan 7-8. {foreach} dengan pengulangan item dan key Menempatkan array ke Smarty, kunci berisi kunci untuk setiap nilai yang diulang.
Template yang menampilkan $contact.
Contoh diatas akan menampilkan:
|
Teladan 7-9. Contoh database dengan {foreachelse} Contoh database (seperti PEAR atau ADODB) dari naskah pencarian, hasil query ditempatkan ke Smarty
Template yang menampilkan "None found" jika tidak ada hasil dengan {foreachelse}.
|
iteration berisi iterasi perulangan saat ini dan selalu dimulai dari satu, tidak seperti indeks. Ia bertambah satu setiap kali iterasi.
show dipakai sebagai parameter untuk {foreach}. show adalah nilai boolean. Jika FALSE, {foreach} tidak akan ditampilkan. Jika terdapat {foreachelse}, akan ditampilkan secara selang-seling.
total berisi jumlah iterasi yang akan diulang {foreach}. Ini dapat digunakan di dalam atau setelah {foreach}.
Lihat juga {section} dan $smarty.foreach.