修改了magento的默认模板modern,上传产品后发现有的分类下产品显示的是一行四个,有的目录下产品显示的是一行三个,这样整个看上去显得很不协调。去后台看了设置,在layout/catalog.xml文件中发现已经设置一行显示为四个,如下:
<action method=
"setColumnCount"
><
count
>4</
count
></action>
但是前台有些目录只能显示三个产品,后来想到是不是js中那些有冲突造成的,查了相关的js文件后也没有发现问题。Google了后大部分都是说修改layout/catalog.xml文件,但本身xml文件已经设置了四个,所以这些都不管用。
后来在看list.phtml文件时,在头部看到
/**
* Product list template
*
* @see Mage_Catalog_Block_Product_List
*/
顺着找下去,Mage/Catalog/Block/Product/,在Abstract.php找到了public function getColumnCount(){…}大概了解,就是个判断,$this->setData(‘column_count’, $this->_defaultColumnCount);这句大概就是赋值吧,搜索下$this->_defaultColumnCount,果然 protected $_defaultColumnCount = 3;这里的3就是你要的行商品数,改成4后,刷新前台果然所有的目录都是每行显示四个了。
上面是我在开发中遇到的问题,记录下来,希望有跟我同样问题的人可以很快的解决问题。