GetChildHtml () çağrısına veri iletmek istiyorum. Bunun nedeni, bloğun çıktısının bir ürün tipine bağlı olmasıdır. Bu yüzden çıkış karar verebilir böylece getChildHtml ürün geçmek istiyorum.
Bunu içeride yapıyorum template/checkout/cart/item/default.phtml
.
İdeal olarak, çağrı şöyle görünecektir:
echo $this->getChildHtml('child_block_name', $_item);
Sonra bloğum ürün türünü öğeden alabilir ve doğru çıktıyı görüntüleyebilir.
Bu verileri aktarmak kesinlikle mümkün olmadığından getChildHtml
- bu tür davranışlar çekirdek bloğu yeniden yazmak zorunda kalmadan nasıl elde edilebilir?
Şu anda sahip olduğum iki çözüm aşağıdaki gibidir (ikisi de çok çekici değildir):
1 - Bir yardımcı oluşturmak ve bir blok ve şablonun ala olmasını sağlamak yerine yardımcı aracılığıyla html çıktısına erişmek $this->helper('my_module')->getItemHtml($_item);
2 - Alt bloğa erişin ve şablon içindeki setData'yı seçin:
$this->getChild('child_name')->setData('item', $_item);
echo $this->getChildHtml('child_name')
Magento mimarisi açısından, 2 sayısı iki kötülükten daha azdır, ancak bir şablonun içine çirkin bakmaktır.