バックエンドでのMagento 1ウィジェットのセットアップ-上に移動するには


11

バックエンド-> CMS->ウィジェットを介してすべてのカテゴリページにウィジェットを設定しています

この方法を使用する場合、カテゴリページのブロックを選択すると、ブロックがうまく表示されます。左側の列にある他のすべての情報の一番下にあります。

しかし、どうすればブロックを上に移動できますか?(上層など)...

代わりにを使用するlocal.xmlこともできます。これは、私が好むものではありません。+同じテーマを使用するすべての私のWebサイトにも表示されます。


3
おそらくcustom layout updates、カテゴリ内のフィールドを使用してブロックを追加し、それを使用before=""またはafter=""配置してみてください。
リックカイパーズ2013年

回答:


12

問題は、Magentoの左側の列の上にウィジェットコンテナーがないことです。このようなコンテナは、次の2つの手順で作成できます。

  1. local.xmlファイルにウィジェットブロックコンテナーを作成します。

    <layout>
       <!-- category pages with layered navigation -->
       <catalog_category_layered>
            <update handle="custom_top_container" />
       </catalog_category_layered>
       <!-- category pages without layered navigation -->
       <catalog_category_default>
            <update handle="custom_top_container" />
       </catalog_category_default>
       <!-- custom block container on that page -->
       <custom_top_container>
            <reference name="left">
               <block name="left_top" type="core/text_list" before="-" translate="label">
                    <label>Left Column Top</label>
               </block>
            <reference>
       </custom_top_container>
    </layout>

    次の例では、catalog_category_defaultcatalog_category_layeredがカテゴリページのハンドルであり、custom_top_containerハンドルは、レイアウト更新命令によってこれらのページに含まれています。新しいleft_topブロックはMage_Core_Block_Text_Listの一種であり、それに割り当てられた子ブロックの連結出力を表示するため、ウィジェットが追加されていない場合は空になります。レイアウトがウィジェット構成の準備ができたら、次のステップを確認してください。

  2. 作成widget.xml内のファイルなど、あなたのテーマのディレクトリを(あなたが拡張されているテーマからこの設定を保存するwan't場合、あなたはあなたにそのテーマからそれをコピーする必要があります)。このwidget.xmlには、Magentoが新しく作成されたコンテナーをサポートするウィジェットを知るための追加情報が含まれている必要があります。

    <widgets>
        <[widget_id]>
            <supported_blocks>
                <left_column_top>
                    <block_name>left_top</block_name>
                </left_column_top>
             </supported_blocks>
        </[widget_id]>
    </widgets>

    この設定ファイルにより、Magentoは、管理パネルで可能なコンテナーの取得に使用できるブロックを認識します。

それでは、管理パネルに移動して、ウィジェットのレイアウトを更新するために左の列の上コンテナを選択してください。


Ivanに感謝します。そしてmyabe最善の方法-とにかくlocal.xmlを編集している場合-すぐにCMSブロック(左上を意図した小さな画像のみ)も呼び出すことです
snh_nl

2

あなたは使用してそのブロックで呼び出すことを試みることができます

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('BLOCK_ID_HERE')->toHtml() ?>

上記のコードを次の場所に挿入します。

frontend / default / YOURTHEME / template / catalog / navigation / sidebar.phtml

カタログメニューを表示するコードの上。

Webサイト全体で表示されないようにするには、Webサイトごとに異なるテーマを使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.