So passen Sie das Produktseitenlayout in Magento an

Veröffentlicht: 2021-08-16

Inhaltsverzeichnis

Wie Sie vielleicht wissen, erfordert jedes Produkt ein bestimmtes Seitenlayout, das auf seinen einzigartigen Merkmalen basiert. Hier geht es also darum, ein bestimmtes Produktseitenlayout für mehrere Produkte in einer Kategorie anzupassen , ohne das Kategorielayout zu ändern .

Dazu müssen wir die Grundlagen durchgehen, und erst dann lernen wir, das Layout der Produktseite mit Layoutdateien anzupassen.

Über Layoutdateien

In Magento sind Layoutdateien .XML-Dateien, die verwendet werden, um die Struktur einer bestimmten Seite zu definieren. Layoutdateien werden klassifiziert in:

  • Basislayouts : die von Modulen bereitgestellten Layoutdateien
Typ Ort
Seitenkonfiguration und generische Layoutdateien <module_dir>/view/frontend/layout
Seitenlayoutdateien <module_dir>/view/frontend/page_layout
  • Theme-Layouts : Die von Themes bereitgestellten Layout-Dateien
Typ Ort
Seitenkonfiguration und generische Layoutdateien <theme_dir>/<Namespace>_<Modul>/layout
Seitenlayoutdateien <theme_dir>/<Namespace>_<Modul>/page_layout

So passen Sie das Layout der Produktseite an

Um das Layout einer bestimmten Seite anzupassen, müssen Sie die Layoutdatei dieser Seite mit einer benutzerdefinierten überschreiben. Dazu müssen Sie die Layoutdateien für die Produktseite Ihres Designs suchen.

Passen Sie das Layout der Produktseite für alle Produkttypen an

Magento 2 Vorherige/Nächste Produktseite

Magento 2 Previous Next Product Page ist eine optimierte Funktion, die es Kunden ermöglicht, mit einem einzigen Klick nahtlos durch Produktseiten zu navigieren. Diese Funktion erhöht die Benutzerfreundlichkeit Ihres Shops und sorgt für ein reibungsloses und angenehmes Surferlebnis für Ihre Kunden.

Was ist, wenn Sie das Produktseitenlayout für alle Ihre Produkttypen anpassen möchten?

Dies ist der einfache Teil, da Sie nur Änderungen an der gemeinsamen Layoutdatei vornehmen müssen, dh catalog_product_view.xml (befindet sich in /theme_dir/Magento_Catalog/layout/), damit die Änderung auf alle Ihre Produkttypen übertragen wird.

Strukturieren Sie Inhalte im Layout mithilfe von Containern

Das Layout Ihrer Produktseiten wird mithilfe von Containern strukturiert, auf die verwiesen oder weitere Blöcke hinzugefügt werden können.

Beispiel :

 <move element="product.info.social" destination="product.info.main" before="product.info.price"/>

Hier sind die gängigen Container, die im Produktseitenlayout verwendet werden:

  • product.info.main
  • product.info.price
  • product.info.stock.sku
  • product.info.form.content
  • product.info.extrahint
  • product.info.social
  • product.info.media

Passen Sie das Layout der Produktseite für ein bestimmtes Produkt an

Es gibt zwei Möglichkeiten, wie Sie das Layout Ihrer Produktseite für ein bestimmtes Produkt anpassen können. Beide beinhalten das Ablegen von Dateien in einem bestimmten /layout/-Ordner.

Methode 1 : Erstellen Sie ein benutzerdefiniertes Layout-Update

Ab Magento 2.3.4 wird das XML-Feld „Layout-Update“ im Magento-Admin-Panel jetzt in einen Selektor umgewandelt, was bedeutet, dass Sie diesem Feld keinen Code mehr frei hinzufügen können.

Seitenlayout gestalten
Das benutzerdefinierte Layout-Update für Produktseiten wird jetzt in einen Selektor umgewandelt

Um benutzerdefinierte Layout-Updates für Ihre Produktseiten anzuwenden, müssen Sie eine .XML-Datei in einem bestimmten Ordner ablegen ( app/design/frontend/<Vendor>/<Theme>/Magento_Catalog/layout/ ). Die Layoutaktualisierung aus dieser .XML-Datei wird dann als auswählbare Option unter Benutzerdefinierte Layoutaktualisierung angezeigt.

Die Regel für benutzerdefinierte Layoutaktualisierungsdateinamen

Ihre benutzerdefinierten Layout-Update-Dateinamen müssen die folgende Regel einhalten:

catalog_product_view_selectable_<Product SKU>_<Name for Layout Update>.xml

wo:

  • <Product_SKU> : ist die SKU des Produkts, auf das Sie die Aktualisierung des benutzerdefinierten Layouts anwenden möchten
  • <Name for Layout Update> : ist der Name dieses Layouts, der in der Auswahl für benutzerdefinierte Layout-Aktualisierung angezeigt wird

Wenn wir beispielsweise ein neues benutzerdefiniertes Layout-Update für diese SKU anwenden möchten: MH05. Wir müssen eine benutzerdefinierte Layoutdatei namens catalog_product_view_selectable_ MH05_test.xml in /theme_dir/Magento_Catalog/layout/ mit folgendem Inhalt einfügen:

MH05-Datei
 <?xml-Version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <Körper>
        <move element="page.main.title" destination="product.info.main" before="-"/>
        <move element="product.info.stock.sku" destination="product.info.price" after="product.price.final"/>
        <move element="product.info.review" destination="product.info.main" before="product.info.price"/>
		<referenceContainer name="page.wrapper">
             <referenceBlock name="breadcrumbs" remove="true"/>
         </referenceContainer>
    </body>
</Seite>

Dieses Testlayout entfernt die Breadcrumbs von der Produktseite der Produkt-SKU MH05.

Wählen Sie als Nächstes unter Katalog > Produkte das Produkt mit der SKU MH05 aus. Sie sollten jetzt ein benutzerdefiniertes Layout-Update namens test sehen können:

Design-Testdatei

Wählen Sie dieses neue benutzerdefinierte Layout-Update und speichern Sie die Änderungen.

Löschen Sie jetzt Ihren Cache mit:

 php bin/magento cache:flush

Und die Änderungen sollten sich jetzt auf Ihrem Frontend widerspiegeln.

keine Semmelbrösel
Unser Produkt (SKU MH05) mit einem benutzerdefinierten Layout-Update zum Entfernen von Breadcrumbs

Methode 2 : Layout überschreiben

Mit der addPageLayoutHandles-Methode können Sie das Layout überschreiben mit:

  • Produkt ID
  • Produkt-SKU
  • Produktart

Wenn Sie beispielsweise das Produktseitenlayout für ein Produkt mit der ID 68 anpassen möchten, muss der Name der Layoutdatei dem folgenden Format entsprechen:

catalog_product_view_id_number.xml

zB catalog_product_view_id_68

Und die Datei muss sich im folgenden Teil befinden:

/theme_dir/Magento_Catalog/layout/

Layout-ID 68
Passen Sie das Produktseitenlayout für bestimmte Produkt-ID/SKU/Typ an

Leeren Sie den Cache nach der Meldung des Systems. Wenn nicht, können Sie zum Frontend gehen, um das neue angepasste Seitenlayout für das jeweilige Produkt zu überprüfen.

Für den Produkttyp können Sie dieselben Schritte ausführen und den Dateinamen entsprechend ändern. Verwenden Sie beispielsweise catalog_product_view_type_bundle.xml , um das neue Seitenlayout für gebündelte Produkte anzuwenden.

Ich hoffe, Sie genießen Ihr neues Seitenlayout für Ihre schönen Artikel!


Zusammenhängende Posts:
So passen Sie den Checkout-Prozess in Magento 2 an
So passen Sie Ihre Magento-E-Mail-Vorlagen an