Using a Layout Update

原文地址

通过 layout update 可以将 Blocks 放置到特定页面的左边或者右边侧边栏。只要对代码做一点简单的改动,你就可以把 block 放在任意的侧边栏中,并控制他相对于其他 blocks 的位置。

callout 术语有时候指的是通过 layout update 的 XML 代码定义的一个 Block。sidebar 指的是页面布局的左栏或者右栏。当你键入 layout update 代码的时候,请确保语法正确,可以参考下面的例子。

要将 block 置于侧边栏中,页面必须要是两栏或三栏的布局

页面侧边栏添加 block

  1. 后台侧边栏,点击 Content,在 Element 下选择 Blocks
  2. 在表格中找到你要的 block,注意他的 Identifier,不要弄错拼写。
  3. 后台侧边栏,点击 Content,在 Element 下选择 Pages
  4. 找到你要修改的页面,并打开它进行编辑
  5. 右侧面板,选择 Design,然后做下面的事情:
    a. 在 Layout Update XML 中,输入下面的代码:

     <reference name="right">
         <block type="cms/block" name="right.permanent.callout">
             <action method="setBlockId"><block_id>your-block-id</block_id></action>
         </block>
     </reference>
    

    b. 修改 reference name 为页面的左栏或者右栏
    c. 修改 block.id 为你要放置的 block 的 id

  6. 完成后,点击 Save Page

译者注,上面的代码是不正确的,User guide 还没有更正,Magento 2 中的用法应该是下面这样:

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

他的写法和 Layout XML 文件中的写法是完全一致的,修改后要清理缓存才会看到效果。(Markup tag 中的写法类似于 Layout 指令的简写,并且他不需要清空缓存就可以看到效果。Markup tag 中 User Guide 中的内容也不及时,请注意看译者的注释。)

发表评论

电子邮件地址不会被公开。 必填项已用*标注