5

わかりました、これは簡単に解決できるように見える問題ですが、私にはわかりません...

Magento Webにはいくつかのカテゴリがあり、各カテゴリにはいくつかの製品があります。4列数で表示したいのですが、次のように常に3列数で表示されます。

ここに画像の説明を入力してください

私はこれを試しました:app / desing / frontend / default / mytheme / layout / catalog.xmlで、次のコードを変更しました:

<!--
Category default layout
-->

<catalog_category_default translate="label">
    <label>Catalog Category (Non-Anchor)</label>
    <reference name="left">
        <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
    </reference>
    <reference name="content">
        <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
            <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
                <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
                    <block type="page/html_pager" name="product_list_toolbar_pager"/>
                    <!-- The following code shows how to set your own pager increments -->
                    <!--
                        <action method="setDefaultListPerPage"><limit>4</limit></action>
                        <action method="setDefaultGridPerPage"><limit>9</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>2</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>4</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>6</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>8</limit></action>
                        <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
                    -->
                </block>
                <action method="setColumnCount"><columns>4</columns></action>
                <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
                <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
                <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
            </block>
        </block>
    </reference>
</catalog_category_default>

したがって、列数を4に設定したと思われますが、それでも3つの製品が表示され続けます...何か考えはありますか?

PS:Magento1.7を使用しています。

4

5 に答える 5

5

list.phtmlファイルの下に次のコードを追加します

$this->setData('column_count',4);

$_helper = $this->helper('catalog/output');
于 2013-12-17T06:56:24.057 に答える
4

ハンドルの更新アクションを使用して現在のレイアウトを定義してみてください(テーマはlayoutdependの代わりにデフォルトの列数を使用する場合があります):ノードの先頭に行を追加するだけです

<catalog_category_default translate="label">
    <update handle="page_two_columns_left" />
于 2012-12-19T13:22:28.450 に答える
3

cssスタイルも編集する必要があります。例えば:

.products-grid li.item {
   float: left;
   margin: 0 22px 0 0;
   padding: 0 0 29px;
   width: 200px;
}

必要な結果を得るには、スタイルプロパティを試してみる必要があります。

また、アンカーカテゴリの設定を変更することを忘れないでください。

<catalog_category_layered translate="label">
       <label>Catalog Category (Anchor)</label>
       ...
                   <action method="setColumnCount"><count>4</count></action>

最後に、Magentoキャッシュを削除します。

于 2012-12-19T11:20:30.037 に答える
2

「setColumnCount」はList.phpまたはその親クラスで定義されていないと思います。したがって、あなたの方法は機能していません。カテゴリページの特定のレイアウトに基づいて「addColumnCountLayoutDepend」を呼び出して列数を設定するとよいでしょう。

したがって、カテゴリページで2ColumnRightレイアウトを使用している場合は、以下のコードを試してください。

<action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>

これにより、4列に製品がリストされたリストページが設定されます。また、CSSを変更する必要があります。

于 2012-12-19T11:31:15.640 に答える
0

次のようにcatalog.xmlを更新してみてください。

     <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">

 <action method="setData"><name>column_count</name><value>4</value></action>
...
于 2014-05-16T22:34:49.660 に答える