zoukankan      html  css  js  c++  java
  • magento添加调用block的几种方法

    静态块主要是指在后台添加的可用静态块
    调用方法常见的有如下几种:(这边就不介绍使用widgets 调用的方法了,有兴趣的朋友可以自己在后台widgets中尝试设置)
    1、直接在HomePage中调用(只限首页):
    修改layout中的xml代码
    <reference name=”content”>
    <block type=”cms/block” name=”blockname” before=”-”>
    <action method=”setBlockId”><id>block_id</id></action>
    </block>
    </reference>
    通过修改reference 中的name属性值调整主体位置,通过block中的before或after属性值调整相对顺序
    CMS 页以及static block还可以通过如下方法调用:
    {{block type=”cms/block”  name=”user-block”  block_id=”one-block”}}
    (其中的name为自定义的,block_id 为静态块的 identi)

    2、直接在模板的 .phtml 中调用
    <?php echo $this->getLayout()
    ->createBlock(‘cms/block’)
    ->setBlockId(‘block_id’)
    ->toHtml(); ?>
    3、在对应的 .xml 中的目标位置调用
    <block type=”cms/block” name=”blockname” as=”blockname” before=”-”>
    <action method=”setBlockId”><id>block_id</id></action>
    </block>
    <!– 修改其中的 name  as 以及id 确保正确调用,修改before参数确保位置正确 –>
    4、使用 getChildHtml() 方法调用(类似方法3):
    首先在page.xml文件中定义一个childhtml名称(这边用test代替)
    可以参考before_body_end那段代码
    <block type=”core/text_list” name=”before_body_end” as=”before_body_end”/>
    定义自己需要的如:
    <block type=”core/text_list” name=”test” as=”test”/>
    然后将调用的代码添加到对应的XML布局文件的正确位置
    例如这边我们插入到catalog.xml 中的<default>块中,这样就可以在任意页面调用,当然你也可以加到你想要的页面中。
    <default><!–位于30行左右–>
    <reference name=”test”>
    <block type=”cms/block” name=”testname” before=”-”>
    <action method=”setBlockId”><id>testblock</id></action>
    </block>
    </reference>
    ……
    添加static block名称为testblock
    内容自己定义,如:    <h1>This is a test Block!</h1>
    到你想让这块内容出现的页面调用它
    这边我们在1column.phtml中调用
    <?php echo $this->getChildHtml(‘test’) ?>

    5.应用实例:

    产品查看页以 Zencart 风格调出产品多图展示

    catalog.xml
    <!–
    Product view
    –>部分,找到<block type=”catalog/product_view_media” name=”product.info.media” as=”media” template=”catalog/product/view/media.phtml”/>
    复制并加以修改为:
    <block type=”catalog/product_view_media” name=”product.info.mediagallery” as=”media_gallery” template=”catalog/product/view/mediagallery.phtml”/>
    其中mediagallery.phtml 文件代码可参考media.phtml 文件根据需要进行相应修改

    然后
    在Product view.phtml 中 对应位置添加以下代码(css样式自行调整)即可
    <div style=”text-align:center;”>
    <?php echo $this->getChildHtml(‘media_gallery’) ?>
    </div>

    不在吃苦的年纪选择安逸!
  • 相关阅读:
    【Java】:判断数据类型
    【Shell编程】:多命令处理
    正则表达式
    26、DIEN(DIN的延伸)
    25、深层用户兴趣网络DIN(阿里)
    强化学习(7)---动态规划
    强化学习(6)---马尔可夫过程
    ubuntu出现终端和浏览器输入法不能显示中文,但是ubuntu software可以显示(fcitx)
    ASP.NET实现企业微信接入应用实现身份认证
    DevOps
  • 原文地址:https://www.cnblogs.com/DaHai-st/p/6509749.html
Copyright © 2011-2022 走看看