Magento 2'de Çocuk Teması nasıl oluşturulur


18

Kullanıma hazır Luma temasının belirli yönlerini değiştirmek istiyorum, ancak orijinal dosyaları koruyarak ve Magento'yu her güncellediğimde de değişikliklerimi koruduğumdan emin olmak istiyorum.

Bunu Çocuk Teması ile yapmak istiyorum.

Magento 2 alt temaları destekliyor mu ve eğer öyleyse, bunu yapmak için dizin yolumu nasıl yapılandırabilirim?


1
Bu soruyu sorduğunuz için minnettarım. Ben de aynı şeyi merak ediyordum!
camdixon

Yanıtlar:


26

Magento 2'deki tüm özel temalarımızın buraya gelmesi için bir çocuk teması oluşturmamıza izin verin:

Uygulamanın / tasarım / kullanıcı arayüzü / şirket_adı / THEME_NAME

Diyelim ki şirketimizin adı şirketim ve tema adımız temel. Temamız için aşağıdaki dizin yapısını oluşturmamız gerekiyor:

app
└────design
     └──────frontend
            └──mycompany
               └───basic
                   └──etc
                   └──Magento_Theme
                          └─layout
                                default.xml
                   └──media
                          preview.png
                   └──web
                     └─css
                     └─fonts
                     └─images
                     └─js
                    theme.xml
                    registration.php

benim şirketim :-

Tema paketinin adı

basic: - Temanın adı. Şirketim klasöründe birden çok adlandırılmış tema olabilir.

etc / view.xml: -

Bu dosya, ürün resmi boyutlarını, küçük resimlerini vb. Belirtmek için kullanılır.

Magento_Theme: - Bu dizin mevcut Magento'nun tema dosyalarını geçersiz kılmak için kullanılır.

Magento_Theme / layout / default.xml: - Varsayılan olarak Magento2, temanızın logo dosyasının olması gerektiğini varsayar: /web/media/logo.svg Logo için başka bir dosya istiyorsanız, default.xmldosyayı dosyada bildirmeniz gerekir .

Bu dosya varsayılan temanın ayarlarını geçersiz kılmak için de kullanılır.

media / preview.png: - Geçerli temanın önizlemesi.

web: - Bu dizin, temanın resimler, stiller, javascript, yazı tipleri vb. gibi tüm statik verilerini içerir.

registration.php: - Bu dosya, temamızı Magento2 sistemine kaydetmek için gereklidir.

theme.xml: - Bu, tema adımızı , üst öğesini ve isteğe bağlı olarak temanın önizleme resmini tanımlayan zorunlu bir dosyadır.

Tema dosyaları oluşturma

Şimdi dosyalarımızı tek tek oluşturalım.

theme.xml (uygulama / tasarım / kullanıcı arabirimi / şirketim / temel / theme.xml)

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
   <title>Basic</title> <!-- your theme's name -->
   <parent>Magento/blank</parent> <!-- the parent theme -->
   <media>
        <preview_image>media/preview.jpg</preview_image> <!-- theme's preview image -->
   </media>
</theme>

registration.php (uygulama / tasarım / kullanıcı arabirimi / şirketim / temel / registration.php)

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/mycompany/basic',
    __DIR__
);

default.xml (uygulama / tasarım / kullanıcı arabirimi / şirketim / temel / Magento_Theme / layout / default.xml)

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="logo">
           <arguments>
              <argument name="logo_file" xsi:type="string">images/my_logo.png</argument>
              <argument name="logo_img_width" xsi:type="number">200</argument>
              <argument name="logo_img_height" xsi:type="number">200</argument>
           </arguments>
        </referenceBlock>
    </body>
</page>

Bu noktada temamız hazır. Önbelleğinizi temizleyin, şimdi yönetici üzerinden yeni temamızı seçeceğiz.

Şimdi, yöneticiye giriş yapın ve aşağıdaki yola geçin:

Content -> Design -> Themes

Temanızın listede olduğunu görmelisiniz.

Şimdi git:

Stores -> Configuration -> Design

Sol üstteki Mağaza Görünümü'nün önünde Ana Web Sitesi'ni seçin. Şimdi tıklayın

Desgin -> Design Theme

Varsayılanı kullan onay kutusunun işaretini kaldırın ve temanızı seçin. Yapılandırmayı Kaydet'i tıklayın, önbelleğinizi temizleyin ve yeni temanız hazır. Ana sayfanızı kontrol edin.

Daha fazla ayrıntı için buraya bakın.


Geniş adım adım kılavuz @Arunendra için teşekkür ederiz. Kısa bir süre sonra tekrar deneyeceğim.
H.Ferrence

Bu mükemmel @Arunendra. Mükemmel çalıştı. Sadece herhangi bir adım atlamaksızın tamamen takip etmeniz gerekir.
H.Ferrence

1
Adım adım harika @Arunendra. Sadece benimle aynı sorunlarla durum herkes çalıştırır, kendi tescilli tema uygulamak yeri değiştiğini Design -> Design Themeiçin Content/Design/Configuration.
Kedmasterk

Önemli not: Dosya media/preview.pngmevcut olmalıdır, aksi takdirde Magento bir istisna atar.
Salman von Abbas

5

Dizinler oluşturun:

Kök dizinin kök dizinine gidin ve app / design / frontend dizinine gidin , Demo oluşturun .

Şimdi app / design / frontend / Demo'da Mytheme dizini oluşturun .

App / design / frontend / Demo / Mytheme'de Mangento_Theme dizini oluşturun .

App / design / frontend / Demo / Mytheme / Magento_Theme'de düzen dizini oluşturun .

App / design / frontend / Demo / Mytheme içinde medya dizini oluşturun .

App / design / frontend / Demo / Mytheme içinde web dizini oluşturun .

App / design / frontend / Demo / Mytheme / web'de resim dizini oluşturun .

Tema Bildirimi

App / design / frontend / Demo / Mytheme içinde theme.xml dosyası oluşturun ve içine aşağıdaki kodu yapıştırın:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Mytheme</title>
<parent>Magento/blank</parent>
<media>
<preview_image>media/preview.jpg</preview_image>
</media>
</theme>

Tema Kaydı

Şimdi app / design / frontend / Demo / Mytheme'de registration.php dosyasını oluşturun ve içine aşağıdaki kodu yapıştırın:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME, 'frontend/Demo/Mytheme', __DIR__
);

Tema Önizleme Resmi Yükle

App / design / frontend / Demo / Mytheme / media adresine gidin ve önizleme resminizi (preview.jpg) buraya yükleyin.

Tema Logosu Beyanı

App / design / frontend / Demo / Mytheme / Magento_Theme / layout'a gidin ve default.xml dosyası oluşturun. Aşağıdaki kodu içine yapıştırın:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_file" xsi:type="string">images/mytheme-logo.png</argument>
<argument name="logo_img_width" xsi:type="number">200</argument>
<argument name="logo_img_height" xsi:type="number">200</argument>
</arguments>
</referenceBlock>
</body>
</page>

Tema Logosunu Yükle

App / design / frontend / Demo / Mytheme / web / images adresine gidin ve logonuzu (mytheme-logo.png) buraya yükleyin.

Temanızı Uygulayın

  • Magento 2 cihazınızın Yönetici panelini açın ve İçerik → Yapılandırma'ya gidin.

  • Düzenle seçeneğini tıklayın.

  • Uygulamalı Tema açılır menüsünden Efsane'yi seçin ve
    Yapılandırmayı Kaydet'i tıklayın.

Komutları Çalıştır

SSH terminalini açın ve Magento 2'nizin kök dizinine gidin. Şimdi tüm bu komutları tek tek çalıştırın:

rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/session/* var/view_preprocessed/* pub/static/*
php bin/magento setup:upgrade
php bin/magento setup:db-schema:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.