Magento'da Ürün Sayfası Düzeni Nasıl Özelleştirilir
Yayınlanan: 2021-08-16İçindekiler
Bildiğiniz gibi, her ürün, benzersiz özelliklerine göre belirli bir sayfa düzeni gerektirir. Yani buradaki şey , kategori düzenini değiştirmeden bir kategori altındaki birkaç ürün için belirli bir ürün sayfası düzenini özelleştirmek .
Bunu yapmak için temel bilgileri gözden geçirmemiz gerekecek ve yalnızca oradan ürün sayfası düzenini düzen dosyalarıyla özelleştirmeyi öğreneceğiz.
Düzen dosyaları hakkında
Magento'da düzen dosyaları, belirli bir sayfanın yapısını tanımlamak için kullanılan .XML dosyalarıdır. Düzen dosyaları şu şekilde sınıflandırılır:
- Temel düzenler : modüller tarafından sağlanan düzen dosyaları
Tip | Konum |
---|---|
Sayfa yapılandırması ve genel düzen dosyaları | <module_dir>/görünüm/ön uç/düzen |
Sayfa düzeni dosyaları | <module_dir>/view/frontend/page_layout |
- Tema düzenleri : temalar tarafından sağlanan düzen dosyaları
Tip | Konum |
---|---|
Sayfa yapılandırması ve genel düzen dosyaları | <theme_dir>/<Ad alanı>_<Modül>/düzen |
Sayfa düzeni dosyaları | <theme_dir>/<Ad alanı>_<Module>/page_layout |
Ürün sayfası düzeni nasıl özelleştirilir
Belirli bir sayfanın düzenini özelleştirmek için, o sayfanın düzen dosyasını özel bir sayfayla geçersiz kılmanız gerekir. Bunu yapmak için temanızın ürün sayfasının düzen dosyalarını bulmanız gerekir.
Tüm ürün türleri için ürün sayfası düzenini özelleştirin

Magento 2 Önceki/Sonraki Ürün Sayfası
Magento 2 Önceki Sonraki Ürün Sayfası, müşterilerin tek bir tıklamayla ürün sayfalarında sorunsuz bir şekilde gezinmesine olanak tanıyan optimize edilmiş bir özelliktir. Bu özellik, mağazanızın kullanılabilirliğini artırır ve müşterileriniz için sorunsuz ve keyifli bir gezinme deneyimi sağlar.
Tüm ürün türleriniz için ürün sayfası düzenini özelleştirmek isterseniz ne olur?
Bu kolay kısımdır, çünkü değişikliğin tüm ürün türlerinize yansıtılması için yalnızca ortak düzen dosyasında, yani katalog_ürün_görünümü.xml'de (/theme_dir/Magento_Catalog/layout/ içinde bulunur) değişiklik yapmanız gerekir.
Kapsayıcıları kullanarak düzendeki içeriği yapılandırın
Ürün sayfalarınızın düzeni, başvurulabilecek veya içine daha fazla blok eklenmiş kaplar kullanılarak yapılandırılmıştır.
Örnek :
<move element="product.info.social" target="product.info.main" before="product.info.price"/>
Ürün sayfası düzeninde kullanılan yaygın kapsayıcılar şunlardır:
-
product.info.main
-
product.info.price
-
product.info.stock.sku
-
product.info.form.content
-
product.info.extrahint
-
product.info.social
-
product.info.media
Belirli bir ürün için ürün sayfası düzenini özelleştirme
Belirli bir ürün için ürün sayfanızın düzenini özelleştirmenin iki yolu vardır, her ikisi de dosyaları belirli bir /layout/ klasörüne yerleştirmeyi içerir.
Yöntem 1 : Özel bir düzen güncellemesi oluşturun
Magento 2.3.4 ile başlayarak, Magento Yönetici Panelindeki Düzen Güncelleme XML alanı artık bir seçiciye dönüştürülmüştür, bu da artık bu alana özgürce kod ekleyemeyeceğiniz anlamına gelir.


Ürün sayfalarınız için özel düzen güncellemeleri uygulamak için, belirli bir klasöre ( app/design/frontend/<Vendor>/<Theme>/Magento_Catalog/layout/
) bir .XML dosyası koymanız gerekir. Bu .XML dosyasındaki düzen güncellemesi, seçilebilir bir seçenek olarak Özel Düzen Güncellemesi altında görünecektir.
Özel düzen güncelleme dosya adları için kural
Özel düzen güncelleme dosya adlarınızın aşağıdaki kurala uyması gerekir:
catalog_product_view_selectable_<Product SKU>_<Name for Layout Update>.xml
nerede:
-
<Product_SKU>
: özel düzen güncellemesi uygulamak istediğiniz ürünün SKU'su -
<Name for Layout Update>
: Özel Yerleşim Güncelleme seçicisinde gösterilecek olan bu yerleşimin adıdır.
Örneğin, bu SKU için yeni bir özel düzen güncellemesi uygulamak istiyorsak: MH05. catalog_product_view_selectable_ MH05_test.xml
adlı özel bir düzen dosyasını /theme_dir/Magento_Catalog/layout/
içine aşağıdaki gibi içerikle koymamız gerekecek:

<?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"> <body> <move element="page.main.title" target="product.info.main" before="-"/> <move element="product.info.stock.sku" target="product.info.price" after="product.price.final"/> <move element="product.info.review" target="product.info.main" before="product.info.price"/> <referenceContainer name="page.wrapper"> <referenceBlock name="ekmek kırıntıları" remove="true"/> </referenceContainer> </body> </sayfa>
Bu test düzeninin yapacağı şey, Ürün SKU'su MH05'in ürün sayfasından içerik kırıntılarını kaldırmasıdır .
Ardından, Katalog > Ürünler 'de SKU MH05'e sahip ürünü seçin. Artık test adında özel bir düzen güncellemesi görebilmeniz gerekir:

Bu yeni özel düzen güncellemesini seçin ve değişiklikleri kaydedin .
Şimdi aşağıdakileri kullanarak önbelleğinizi temizleyin:
php bin/magento önbelleği:flush
Ve değişiklikler artık ön yüzünüze yansıtılmalıdır.

Yöntem 2 : Düzeni geçersiz kılma
addPageLayoutHandles yöntemiyle, aşağıdakileri kullanarak düzeni geçersiz kılabilirsiniz:
- ürün kimliği
- Ürün SKU'su
- Ürün tipi
Örneğin, kimliği 68 olan bir ürün için ürün sayfası düzenini özelleştirmek istiyorsanız, düzen dosyasının adının aşağıdaki biçime uyması gerekir:
catalog_product_view_id_number.xml
ör., catalog_product_view_id_68
Ve dosyanın aşağıdaki bölümde olması gerekecek:
/theme_dir/Magento_Catalog/layout/

Sistemin mesajını izleyerek önbelleği temizleyin. Değilse, belirli ürün için yeni özelleştirilmiş sayfa düzenini kontrol etmek için ön uca gidebilirsiniz.
Ürün türü için de aynı adımları takip ederek dosya adını buna göre değiştirebilirsiniz. Örneğin, paket ürünler için yeni sayfa düzenini uygulamak için catalog_product_view_type_bundle.xml
kullanın.
Güzel öğeleriniz için yeni sayfa düzeninizi beğeneceğinizi umuyoruz!
İlgili Mesajlar:
Magento 2'de Ödeme İşlemi Nasıl Özelleştirilir
Magento E-posta Şablonlarınızı nasıl özelleştirebilirsiniz?