2015-09-17 12 views
11

Tôi đang tạo một chủ đề Magento 2. Tôi muốn hiển thị các khối tùy chỉnh trên trang chủ cms.Làm thế nào để hiển thị các khối tĩnh trong Magento 2?

Tôi muốn biết để hiển thị các khối tĩnh trong bố cục phtml và xml, nội dung trang cms

Tôi làm cách nào?

+0

Tôi muốn biết để hiển thị các khối tĩnh trong bố cục phtml và xml, nội dung trang cm. – John

Trả lời

31

Vui lòng thử sử dụng các mã bên dưới.

Trong Phtml File:

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

trong nội dung CMS:

{{block class="Magento\\Cms\\Block\\Block" block_id="block_identifier"}} 

Trong Xml File:

<referenceContainer name="content"> 
    <block class="Magento\Cms\Block\Block" name="block_identifier"> 
     <arguments> 
      <argument name="block_id" xsi:type="string">block_identifier</argument> 
     </arguments> 
    </block> 
</referenceContainer> 
+0

Sử dụng Magento 2.0.2. Đối với mục đích thử nghiệm, tôi đã chèn được cung cấp ở trên xml vào trang sản phẩm "Cập nhật bố cục tùy chỉnh" và cung cấp khối php trong 'ứng dụng/thiết kế/lối vào/Magento///Magento_Catalog/mẫu/sản phẩm/chế độ xem/chi tiết .phtm'. Tôi vẫn không thể thấy khối này. Tôi có làm gì sai không? – crashtestxxx

1

Trên đây là đúng, thêm vào đó, các tập tin xml cho trang chủ là cms_index_index.xml bên trong thư mục Magento_Cms (và điều này sẽ nằm trong gói/thứ của riêng bạn thư mục eme, không phải trong Magento/blank hoặc app/code).

Chỉ cần đặt mã xml ở trên vào thẻ <body> trong tệp đó, tùy thuộc vào cài đặt bộ nhớ cache bạn có thể cần xóa chúng để xem các điều chỉnh.

0

Sử dụng đoạn mã sau để hiển thị khối tĩnh trong trang CMS -

{{block class="Magento\\Cms\\Block\\Block" block_id="block_identifier"}} 

Sử dụng đoạn mã sau để hiển thị khối tĩnh trong file phtml -

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

không ai trong số những công việc để đưa các khối tĩnh thông qua default.xml Vui lòng chuyển các ví dụ thích hợp. Trong 2.0.7 Khi tôi áp dụng cho chủ đề của tôi sau đây sau khi tạo một khối tĩnh trong quản trị có tên socialimg/socialimg như là định danh khối không có gì xuất hiện. thậm chí trong bộ nhớ. thậm chí không tìm kiếm exception.log hoặc system.log

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> 
    <body> 
     <referenceContainer name="header.panel"> 
      <block class="Magento\Framework\View\Element\Html\Links" name="header.links"> 
       <arguments> 
        <argument name="css_class" xsi:type="string">header links</argument> 
       </arguments> 
      </block> 
     </referenceContainer> 
<referenceBlock name="socialimg1"> 
    <block class="Magento\Cms\Block\Block" name="socialimg"> 
     <arguments> 
      <argument name="block_id" xsi:type="string">socialimg</argument> 
     </arguments> 
    </block> 
</referenceBlock> 
     <referenceBlock name="logo"> 
      <arguments> 
       <argument name="logo_img_width" xsi:type="number">148</argument> 
       <argument name="logo_img_height" xsi:type="number">43</argument> 
      </arguments> 
     </referenceBlock> 
     <referenceContainer name="footer"> 
      <block class="Magento\Store\Block\Switcher" name="store_switcher" as="store_switcher" after="footer_links" template="switch/stores.phtml"/> 
     </referenceContainer> 
     <referenceBlock name="report.bugs" remove="true"/> 
     <move element="copyright" destination="before.body.end"/> 
    </body> 
</page> 
Các vấn đề liên quan