Cách gọi khối tĩnh vào tệp phtml Magento 2


7

Tôi có khối tĩnh trong phụ trợ có tên là "varmo_custom_block_for_header".

Tôi muốn lặp lại nội dung đó vào một header.phtmltập tin.

Tôi thử cách này nhưng không thành công:

 <?php echo $block->getLayout()->createBlock('magento\Cms\Block\Block')->setBlockId('varmo_custom_block_for_header')>toHtml();?>

Nhưng nhận được lỗi như:

Lỗi nghiêm trọng: Gọi hàm không xác định đếnHtml () trong /opt/lampp/htdocs/xyz/app/design/frontend/xyztheme/mo/xyztheme_mo/temsheet/html/header.phtml trên dòng 47

Câu trả lời:


13

Có lỗi cú pháp trong mã của bạn ở gần >toHtml

Nó nên ->toHtml()

<?php echo $this->getLayout()->createBlock(\Magento\Cms\Block\Block::class)->setBlockId('varmo_custom_block_for_header')->toHtml();?>

@ nếu câu trả lời này giúp bạn thì bạn có thể đánh dấu là đã được chấp nhận, vì vậy những người dùng khác sẽ có lợi nếu họ gặp phải vấn đề tương tự
Murtuza Zabuawala 27/07/18

@ Murtuza tôi bỏ phiếu cho "Câu trả lời này hữu ích".
shail

@shail bạn có thể nhấn nút `✔` màu xanh lá cây đó bên cạnh câu trả lời của tôi cho điều này
Murtuza Zabuawala

2

Bạn có thể thử điều này:

<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_identifier')->toHtml();?>

Đây là một lựa chọn khác:

{{block class="Magento\\Cms\\Block\\Block" block_id="block_identifier"}}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.