[英]Magento 2 - How to have 2 separates phtml to handle products list and products grid?
我正在建立一個基於 Magento 2 的新網站。我還在學習這個 CMS,我想知道一件事。 基於網頁設計師的工作,我在產品列表的網格布局和列表一之間有太多差異。
現在,為了設計產品網格,我復制並編輯了這個文件: app/design/frontend/MYTHEME/default/Magento_Catalog/templates/product/list.phtml
但它當然處理網格和列表布局:
<div class="products wrapper <?= /* @noEscape */ $viewMode ?> products-<?= /* @noEscape */ $viewMode ?>">
我需要為列表布局移動太多東西,所以我嘗試使用 2 個單獨的 phtml,一個用於列表布局,另一個用於網格布局。 是否有可能,例如在app/design/frontend/MYTHEME/default/Magento_Catalog/layout/catalog_category_view.xml
定義東西我猜?
謝謝你的幫助。
在您的 phtml 文件中:
應用程序/設計/前端/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 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.