4

私はmagento 1.7を使用しています。cms コンテンツのラッパーを変更しようとしましたが、cms_page のラッパーを変更する方法がわかりません。

<block type="page/html_wrapper" name="cms.wrapper" translate="label">
    <label>CMS Content Wrapper</label>
    <action method="setElementClass"><value>std</value></action>
    <block type="cms/page" name="cms_page"/>
</block>

そしてhtml出力は

<div class="std">
    CMS Page content
</div>

しかし、私はこのように出力したい

<section class="std">
    CMS Page Content
</section>

何か解決策を教えてください

4

1 に答える 1

8

div をセクションに変更するには、次のコードを試すことができます

<block type="page/html_wrapper" name="cms.wrapper" translate="label">
    <label>CMS Content Wrapper</label>
    <action method="setElementClass"><value>std</value></action>
    <action method="setAttribute"><param1>html_tag_name</param1><param2>section</param2></action>
    <block type="cms/page" name="cms_page"/>
</block>

html_wrapperクラスは関数からタグ名を取得するため、これによりdivがセクションに変更さgetElementTagNameれますapp\code\core\Mage\Core\Block\Abstract\Wrapper.php

/**
 * Wrapper element tag name getter
 * @return string
 */
public function getElementTagName()
{
    $tagName = $this->_getData('html_tag_name');
    return $tagName ? $tagName : 'div';
}

したがって、 setAttribute を呼び出すことで、値を変更/設定しますhtml_tag_name

于 2013-01-04T08:27:48.697 に答える