通过 layout update 可以将 Blocks 放置到特定页面的左边或者右边侧边栏。只要对代码做一点简单的改动,你就可以把 block 放在任意的侧边栏中,并控制他相对于其他 blocks 的位置。
callout
术语有时候指的是通过 layout update 的 XML 代码定义的一个 Block。sidebar
指的是页面布局的左栏或者右栏。当你键入 layout update 代码的时候,请确保语法正确,可以参考下面的例子。
要将 block 置于侧边栏中,页面必须要是两栏或三栏的布局
页面侧边栏添加 block
- 后台侧边栏,点击 Content,在 Element 下选择 Blocks
- 在表格中找到你要的 block,注意他的 Identifier,不要弄错拼写。
- 后台侧边栏,点击 Content,在 Element 下选择 Pages
- 找到你要修改的页面,并打开它进行编辑
- 右侧面板,选择 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 - 完成后,点击 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 中的内容也不及时,请注意看译者的注释。)