簡體   English   中英

Magento 2 - 如何有 2 個單獨的 phtml 來處理產品列表和產品網格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM