Jak dostosować układ strony produktu w Magento?

Opublikowany: 2021-08-16

Spis treści

Jak zapewne wiesz, każdy produkt wymaga określonego układu strony opartego na jego unikalnych cechach. Chodzi o to, aby dostosować układ strony określonego produktu dla kilku produktów w ramach kategorii bez zmiany układu kategorii .

Aby to zrobić, musimy przejść przez podstawy i dopiero na tym etapie nauczymy się dostosowywać układ strony produktu za pomocą plików układu.

O plikach układu

W Magento pliki układu to pliki .XML, które służą do definiowania struktury danej strony. Pliki układów są podzielone na:

  • Układy podstawowe : pliki układów dostarczane przez moduły
Rodzaj Lokalizacja
Konfiguracja strony i ogólne pliki układu <katalog_modułu>/widok/frontend/układ
Pliki układu strony <katalog_modułu>/widok/frontend/układ_strony
  • Układy motywów : pliki układu dostarczane przez motywy
Rodzaj Lokalizacja
Konfiguracja strony i ogólne pliki układu <theme_dir>/<Namespace>_<Moduł>/layout
Pliki układu strony <theme_dir>/<Namespace>_<Moduł>/page_layout

Jak dostosować układ strony produktu

Aby dostosować układ danej strony, musisz zastąpić plik układu tej strony niestandardowym. Aby to zrobić, musisz zlokalizować pliki układu strony produktu motywu.

Dostosuj układ strony produktu dla wszystkich typów produktów

Magento 2 Poprzednia/następna strona produktu

Magento 2 Previous Next Product Page to zoptymalizowana funkcja, która pozwala klientom bezproblemowo poruszać się po stronach produktów za pomocą jednego kliknięcia. Ta funkcja podnosi użyteczność Twojego sklepu i zapewnia płynne i przyjemne przeglądanie dla Twoich klientów.

Co zrobić, jeśli chcesz dostosować układ strony produktu dla wszystkich typów produktów?

Jest to łatwa część, ponieważ wystarczy wprowadzić zmiany we wspólnym pliku układu, tj. Catalog_product_view.xml (znajdującym się w katalogu /theme_dir/Magento_Catalog/layout/), aby zmiany zostały odzwierciedlone we wszystkich typach produktów.

Struktura treści w układzie za pomocą kontenerów

Układ stron produktów jest zorganizowany przy użyciu kontenerów , do których można się odwoływać lub do których można dodać więcej bloków.

Przykład :

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

Oto typowe kontenery używane w układzie strony produktu:

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

Dostosuj układ strony produktu do konkretnego produktu

Istnieją dwa sposoby dostosowania układu strony produktu do konkretnego produktu, oba obejmują umieszczenie plików w określonym folderze /layout/.

Metoda 1 : Utwórz niestandardową aktualizację układu

Począwszy od Magento 2.3.4, pole Layout Update XML w panelu administracyjnym Magento jest teraz konwertowane na selektor, co oznacza, że ​​nie można już swobodnie dodawać kodu do tego pola.

projekt układu strony
Aktualizacja niestandardowego układu stron produktów jest teraz przekształcana w selektor

Aby zastosować niestandardowe aktualizacje układu stron produktów, musisz umieścić plik .XML w określonym folderze ( app/design/frontend/<Vendor>/<Theme>/Magento_Catalog/layout/ ). Aktualizacja układu z tego pliku .XML pojawi się w obszarze Aktualizacja układu niestandardowego jako opcja do wyboru.

Reguła nazw plików aktualizacji niestandardowego układu

Nazwy plików aktualizacji układu niestandardowego będą musiały być zgodne z następującą regułą:

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

gdzie:

  • <Product_SKU> : to kod SKU produktu, do którego chcesz zastosować niestandardową aktualizację układu
  • <Name for Layout Update> : to nazwa tego układu, która będzie wyświetlana w selektorze Aktualizacji Układu Użytkownika

Na przykład, jeśli chcemy zastosować nową aktualizację układu niestandardowego dla tej jednostki SKU: MH05. Musimy umieścić niestandardowy plik układu o nazwie catalog_product_view_selectable_ MH05_test.xml w /theme_dir/Magento_Catalog/layout/ o treści jak poniżej:

Plik MH05
 <?xml version="1.0"?>
<page layout="1kolumna" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <ciało>
        <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="bułka tarta" remove="true"/>
         </referenceContainer>
    </body>
</page>

Ten układ testowy spowoduje usunięcie bułki tartej ze strony produktu produktu SKU MH05.

Następnie w Katalog > Produkty wybierz produkt o numerze SKU MH05. Powinieneś teraz zobaczyć aktualizację niestandardowego układu o nazwie test :

projektowy plik testowy

Wybierz nową aktualizację układu niestandardowego i zapisz zmiany.

Teraz wyczyść pamięć podręczną za pomocą:

 php bin/magento cache: opróżnianie

A zmiany powinny teraz zostać odzwierciedlone w twoim interfejsie.

bez bułki tartej
Nasz produkt (SKU MH05) z niestandardową aktualizacją układu w celu usunięcia bułki tartej

Metoda 2 : Zastępowanie układu

Za pomocą metody addPageLayoutHandles możesz nadpisać układ za pomocą:

  • ID produktu
  • Kod SKU produktu
  • Rodzaj produktu

Na przykład, jeśli chcesz dostosować układ strony produktu dla produktu o identyfikatorze 68, nazwa pliku układu musi być zgodna z następującym formatem:

catalog_product_view_id_number.xml

np. catalog_product_view_id_68

Plik będzie musiał znajdować się w następującej części:

/theme_dir/Magento_Catalog/layout/

identyfikator układu 68
Dostosuj układ strony produktu do określonego identyfikatora/SKU/typu produktu

Wyczyść pamięć podręczną po komunikacie systemowym. Jeśli nie, możesz przejść do frontendu, aby sprawdzić nowy dostosowany układ strony dla konkretnego produktu.

W przypadku typu produktu możesz wykonać te same kroki i odpowiednio zmienić nazwę pliku. Na przykład użyj catalog_product_view_type_bundle.xml , aby zastosować nowy układ strony dla produktów w pakiecie.

Mam nadzieję, że spodoba Ci się nowy układ strony dla swoich uroczych przedmiotów!


Powiązane posty:
Jak dostosować proces realizacji transakcji w Magento 2?
Jak dostosować szablony wiadomości e-mail Magento