Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Magento 2-如何使用2个单独的phtml来处理产品列表和产品网格?_List_Magento_Layout_Grid_Magento2 - Fatal编程技术网

List Magento 2-如何使用2个单独的phtml来处理产品列表和产品网格?

List Magento 2-如何使用2个单独的phtml来处理产品列表和产品网格?,list,magento,layout,grid,magento2,List,Magento,Layout,Grid,Magento2,我正在建立一个基于Magento 2的新网站。我还在学习这个CMS,我想知道一件事。基于webdesigner的工作,我认为产品列表的网格布局和列表布局之间存在太多差异 现在,为了设置产品网格的样式,我复制并编辑了以下文件: app/design/frontend/MYTHEME/default/Magento\u目录/模板/产品/列表.phtml 但它同时处理网格和列表布局,当然: phtml文件中的: app/design/frontend/MYTHEME/default/Magento_C

我正在建立一个基于Magento 2的新网站。我还在学习这个CMS,我想知道一件事。基于webdesigner的工作,我认为产品列表的网格布局和列表布局之间存在太多差异

现在,为了设置产品网格的样式,我复制并编辑了以下文件:
app/design/frontend/MYTHEME/default/Magento\u目录/模板/产品/列表.phtml

但它同时处理网格和列表布局,当然:

phtml文件中的

app/design/frontend/MYTHEME/default/Magento_Catalog/templates/product/list.phtml

你为什么不这样做呢:

<?php if ($viewMode == 'grid') :?>
    // Grid layout
<?php else :?>
    // List layout
<?php endif; ?>

//网格布局
//列表布局

如果要分离,必须找到调用此模板的块类(list.phtml)

在那里,您将看到setTemplate函数(一些块将没有,因为它已经在父类中)

您也将在那里获得viewMode,因此必须设置如下条件:

if ($viewMode == 'grid') : 
   $this->setTemplate = '...../grid.phtml';
else : 
   $this->setTemplate = '...../list.phtml';
setTemplate函数中


我想您已经知道在哪里以及如何创建网格phtml文件。

嗯,这确实很有趣!我会试试看,即使它会使这个文件的行数增加一倍。我可以试试看是的,谢谢!