0

Ultimo テーマに基づいており、fishpig wordpress 拡張機能を使用している Magento プロジェクトに取り組んでいます。

wordpress ページのみで2columns-left.phtmlテンプレートを変更しようとしていますが、うまくいきません!

シナリオをさらに説明するには:

Ultimo テーマ セットのメイン コンテンツは左の列の前にあり、メイン コンテンツのfloat: right;CSS ルールを使用して左の列の後に配置します。HTML は次のような構造になっています。

<div class="col-main grid4-3 grid-col2-main in-col2">
    [omitted code]
</div>
<div class="col-left sidebar grid4-1 grid-col2-sidebar in-sidebar"><div class="wp-sidebar">
    [omitted code]
</div></div>

この HTML は、ultimo/default/template/page/2columns-left.phtmlによって次のように生成されています。

<div class="col-main grid4-3 grid-col2-main in-col2">
  <?php echo $this->getChildHtml('global_messages') ?>
  <?php echo $this->getChildHtml('content') ?>
</div>
<div class="col-left sidebar grid4-1 grid-col2-sidebar in-sidebar"><?php echo $this->getChildHtml('left') ?></div>

独自のテンプレート ファイルを使用して、wordpress ページのみの HTML のメイン コンテンツの前にサイドバーを配置したいと思います。このようにして、wordpress カテゴリはモバイルのメイン コンテンツの上に積み上げられます。

page/wp-2columns-left.phtmlという名前の独自のテンプレートを作成し、サイトの Wordpress セクションに設定して、以下のコードとテーマlocal.xmlの他のいくつかのバリエーションを使用してみました。

<wordpress_default>
    <reference name="root">
        <action method="setTemplate"><template>page/wp-2columns-left.phtml</template></action>
    </reference>
</wordpress_default>

しかし、まだ元の2columns-left.phtmlテンプレートが呼び出されています。テンプレート ファイルを直接編集して、サイトの WordPress セクションで目的の結果を得ることができますが、それは Magento サイトの残りの部分に影響を与えるため、お勧めできません。

4

1 に答える 1

0

これは、XML レイアウト コードを使用して実現できます。次のコードは、WordPress で作成されたすべてのページのテンプレートを変更します。

<wordpress_page_view>
    <reference name="root">
        <action method="setTemplate">
            <template>page/2columns-left.phtml</template>
        </action>
    </reference>
</wordpress_page_view>

次のコードは、ID が 32 の WordPress ページのテンプレートを変更します。

<wordpress_page_view_32>
    <reference name="root">
        <action method="setTemplate">
            <template>page/2columns-left.phtml</template>
        </action>
    </reference>
</wordpress_page_view_32>

このコードを XML レイアウト ファイルに追加した後、レイアウト XML キャッシュを更新する必要があります (有効になっている場合)。

于 2015-03-25T15:05:25.807 に答える