Saya menemukan bahwa ketika mencoba menggunakan unsetChild
metode ini, kadang-kadang saya harus menggunakan atribut 'name' dan yang lain 'sebagai'. Tampaknya jika blok ditambahkan secara normal, Anda menggunakan 'sebagai' tetapi jika ditambahkan ke blok menggunakan append
metode, Anda mungkin harus menggunakan 'nama'. Apakah asumsi ini benar?
Apa alasan di balik ini dan apakah ada cara standar untuk memahami atribut mana yang harus Anda gunakan?
getBlockHtml()
yang kadang-kadang digunakan untuk merender blok berdasarkan nama.Saat Anda menggunakan as , Anda dapat memanggil $ this-> getChildHtml ("as_value") pada templat phtml.
The Nama harus unik, dan dapat digunakan untuk <referensi> blok, <menghapus> , dll
Misalnya (catalog.xml):
Jika Anda membuka katalog / produk / view.phtml Anda akan melihat:
Kamu melihat? sebagai = "media", dan kemudian $ this-> getChildHtml ('media') ...
sumber
Belum ada yang menjawab pertanyaan khusus tentang
unsetChild
itu. Metode yang terkait dengan anak - anak dari sebuah blok selalu merujuk ke blok anak-anak dengan alias, yang hanya diketahui orang tua dan tidak seperti namanya, tidak unik secara global.Tetapi jika blok dibuat tanpa mendefinisikan alias, alias default ke nama.
Jadi singkatnya, jika blok anak memiliki alias eksplisit, Anda harus menggunakan alias. Jika tidak, gunakan namanya.
Alias diberikan oleh
as="..."
jika blok dibuat sebagai blok anak melalui XML, atau dengan parameter tindakan jika dipindahkan atau ditambahkan secara dinamis dengan metode sepertiappend()
,insert()
atausetChild()
.sumber