Câu trả lời:
Hãy chắc chắn rằng bộ điều khiển của bạn giống với tải bố cục trong đó khối của bạn và khối con của nó thoát ra.
sử dụng Magento \ Backend \ App \ Action \ Context; sử dụng Magento \ Framework \ View \ result \ PageFactory; lớp Chỉnh sửa mở rộng \ Magento \ Backend \ App \ Action { được bảo vệ $ resultPageFactory; chức năng công cộng __construct ( Bối cảnh $ bối cảnh, PageFactory $ resultPageFactory ) { $ this-> resultPageFactory = $ resultPageFactory; cha mẹ :: __ xây dựng ($ bối cảnh); } $ resultPage = $ this-> resultPageFactory-> create (); $ blockInstance = $ resultPage-> getLayout () -> getBlock ('your.block.name'); $ childBlocks = $ blockInstance-> getChildNames (); foreach ($ childBlocks là $ blockName) { $ block = $ resultPage-> getLayout () -> getBlock ($ blockName); } }
$blockInstance->getChildNames();
ở đây getChildNames () nghĩa là gì?
Bạn có thể nhận được tất cả các khối con như thế này.
$allblocks = $block->getChildNames();
foreach($allblocks as $blocks){
$child_block = $this->resultPageFactory->create()->getLayout()->getBlock($blocks);
}