Magento:您如何根据页面布局更改产品列数?

时间:2011-02-25 17:21:50

标签: magento

我知道在catalog.xml中,这一行会影响所有布局:

   <action method="setColumnCount"><columns>5</columns></action> 

但是我想根据特定的页面布局更改列数,即:带有左栏,3列等的2列。

这是有人说要做但我不确定我是否在正确的位置添加更新标签,因为它似乎不起作用。此外,如果您在重新启用缓存后阅读他们所说的评论,则会打破它: http://www.lotusseedsdesign.com/blog/change-grid-view-column-4-product-listing

那么有没有人知道如何使用addColumnCountLayoutDepend方法或任何其他方式来更改特定于页面布局的产品网格上的列数?

5 个答案:

答案 0 :(得分:6)

对于子类别页面,在app / design / frontend /您的Interface / layout / catalog.xml中更改列值为以下行:

<action method="setColumnCount"><columns>4</columns></action>

对于根类别页面,在app / design / frontend /您的界面/模板/目录/产品/ list.phtml中,在“网格模式”部分中找到以下代码并更改为适当的值:

<?php $_columnCount = $this->getColumnCount(); ?>

喜欢

<?php $_columnCount = 4; ?>

答案 1 :(得分:5)

有点老问题(差不多3年:D)但我在Kathir 'Sid' Vel's site上发现了一个有趣的解决方案

为此,您将编辑catalog / product / list.phtml模板。

找到行:

<?php $_columnCount = $this->getColumnCount(); ?>

并用下面的代码替换或注释该行并在其后添加代码。

<?php

/* Get the layout's page template */
$pageLayoutRootTemplate = $this->getLayout()->getBlock('root')->getTemplate();

/* Set the column count based on the layout template used */
switch ($pageLayoutRootTemplate) {
    case 'page/1column.phtml':
        $_columnCount = 4;
        break;

    case 'page/2columns-left.phtml':
        $_columnCount = 3;
        break;

    case 'page/2columns-right.phtml':
        $_columnCount = 3;
        break;

    case 'page/3columns.phtml':
        $_columnCount = 2;
        break;

    default:
        $_columnCount = 3;
        break;
}

?>

答案 2 :(得分:3)

有几种方法可以更改列数。您可以尝试每种方法来查看适合您的方法。

1)观看本教程:http://www.youtube.com/watch?v=wNbV34v72a0 以下是使其运行所需的代码。

<reference name="product_list">
<action method="setColumnCount"><count>4</count></action>
</reference>

2)如果上述操作失败,请在要更改列的任何CMS页面中使用此选项。例如:如果您有用于显示特定类别的CMS页面,请使用此页面。这对于显示特定类别产品和同时设置每行的项目数尤其重要。通过CMS页面中的以下代码:

{{block type="catalog/product_list" category_id="42" template="catalog/product/showroom.phtml" columnCount="4"}} 

您可以将columnCount编号从4更改为您想要的任何内容。您可以通过点击magento admin / category / manage category /

下的类别来获取类别ID

这非常重要!有时,当您在上述两个步骤中的任何一个步骤中完成所有操作时,每行的项目仍然不会更改。原因很简单就是CSS问题。这导致了第3步:

3)打开模板的CSS并搜索.products-grid 确保将宽度设置为足够高的数字,以便能够显示所需的每行项目数,而无需按下溢出的项目。在我的情况下,我尽我所能每行有4个项目但是失败了,直到我在CSS中注意到我的.col1-layout .products-grid的宽度为750px。我将宽度改为995px,瞧,第2步完美无缺。

这已经很晚了,但我希望它可以帮助那些人。

答案 3 :(得分:1)

转到app \ design \ frontend \ base \ default \ layout \ catalog.xml 然后转到第85行并完善代码。并找到“catalog / product_list_toolbar”,然后根据您的需要定制产品。

答案 4 :(得分:0)

更改它的最简单方法是从配置选项卡

系统&GT;配置 - &GT; catalog tab-catalog-&gt; frontend你可以从你的magento后端轻松改变它。