Cách tạo chủ đề quản trị cho Magento2


9

Phương pháp này hoạt động cho Magento 1 nhưng không áp dụng cho Magento 2 (phiên bản 0.42.0-beta10): http : //www.magentoc Commerce.com/wiki/4_-_theme_and_template_customization/admin/USE_custom_admin_theme_temsheet

Câu trả lời:


12

Quá trình này khá giống với việc tạo một chủ đề cho frontend.

1. Tạo chủ đề trong

app/design/adminhtml/<yourpackage>/<yourtheme>/theme.xml

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Magento 2 backend</title>
    <parent>Magento/backend</parent> // set parent theme
 </theme>

2. Đăng ký chủ đề trong

app/design/adminhtml/<yourpackage>/<yourtheme>/registration.php

3. Kích hoạt chủ đề.

you can enable frontend theme in admin, but for backend you need to enable the theme through di.xml 

trong app/code/Magento/Theme/etc/di.xml, bạn có thể tìm thấy khối mã bên dưới. thêm khối mã này vào mô-đun của bạn và thay đổi adminhtml thành gói quản trị và tên chủ đề.

    <type name="Magento\Theme\Model\View\Design">
       <arguments>
          <argument name="themes" xsi:type="array">
            <item name="frontend" xsi:type="string">Magento/luma</item>
            <item name="adminhtml" xsi:type="string">Magento/backend</item>
         </argument>
      </arguments>
    </type>

Bây giờ bạn có thể ghi đè lên một cái gì đó trong chủ đề quản trị của bạn để xem nó có hoạt động không.


thx, rất hữu ích!
LucScu

2
bước 3 được cải thiện tại đây magento.stackexchange.com/a/120960/23344
LucScu

1
sau khi thiết lập: static-content: triển khai không có gì được tạo cho chủ đề adminhtml mới của tôi, tôi còn thiếu gì? Tôi đã thử một vài cấu hình trên composer.json nhưng vẫn không tạo được gì dưới nội dung tĩnh. Bất cứ đề nghị nào?
AleGrinGo

2
Chủ đề quản trị viên tùy chỉnh của tôi không có tệp tĩnh nào được tạo sau khi chạysetup:static-content:deploy
Vasilii Burlacu

tôi cũng vậy! Làm thế nào để bạn giải quyết nó?
LucScu

2

Hệ thống chủ đề đã thay đổi một chút trong Magento 2 nhưng có những điểm tương đồng.
Trước tiên, bạn cần tạo một thư mục chủ đề trong app/design/frontend. Cấu trúc thư mục tương tự như cấu trúc mô-đun. Bạn phải có một tên nhà cung cấp (trong Magento 1 được gọi là gói) và một thư mục chủ đề.

Vì vậy, tạo ra app/design/frontend/Vendor/theme.
Sau đó, bạn phải khai báo chủ đề của bạn.
bạn cần tạo trong thư mục chủ đề của mình một tệp theme.xmlcó nội dung sau:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Config/etc/theme.xsd">
    <title>Your theme name</title>
    <parent>Magento/blank</parent><!-- or any other parent theme similar to Magento 1.9 -->
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

sau đó tạo hình ảnh xem trước của chủ đề của bạn bên trong chủ đề của bạn trong mediathư mục (cũng tạo hình này) và gọi hình ảnh xem trước preview.jpg(như được khai báo trong XML ở trên).

Bây giờ chủ đề của bạn đã được thiết lập.
Nếu bạn muốn thay đổi một cái gì đó từ chủ đề gốc, tất cả những gì bạn cần làm là sao chép tệp bạn muốn thay đổi (bố cục, mẫu) sang chủ đề của bạn từ mô-đun cụ thể và thực hiện phép thuật của bạn.

Ví dụ: nếu bạn muốn thay đổi cách trang xem sản phẩm trông giống như sao chép tệp app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xmlvào app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xmlvà thay đổi những gì bạn cần.

Thông tin chi tiết về việc tạo một chủ đề có thể được tìm thấy ở đây .
Tôi cũng tìm thấy một chủ đề mẫu mà bạn có thể sử dụng làm hướng dẫn .
Bạn cũng có thể cài đặt dữ liệu mẫu chính thức và bạn sẽ nhận được một chủ đề được gọi là lumanơi bạn có thể thấy cấu trúc thư mục.


Cảm ơn bạn đã trả lời! Nhưng tôi nghĩ rằng tôi cần phải dịch xấu của tôi, xin lỗi.
Mathieu

Tôi muốn chủ đề phụ trợ (chủ đề quản trị), không phải frontend.
Mathieu

Đó không phải là vấn đề. Các bước là như nhau, nhưng thay vì frontendsử dụng adminhtmltrong cấu trúc thư mục. Nguyên tắc là như nhau.
Marius

Được rồi cảm ơn. Nhưng, tôi không hiểu cách khai báo chủ đề mới cho quản trị viên. Có: "app / code / Magento / Backend / etc / config.xml" không?
Mathieu

<store> <admin> <design> <pack> <name> default </ name> </ pack> <theme> <default> backend </ default> </ theme> </ design> </ admin> </ store >
Mathieu

2

Trong trường hợp ai đó có vấn đề với việc tạo tệp tĩnh cho chủ đề quản trị mới được tạo. Để magento tạo tệp cho chủ đề phụ trợ khi cài đặt: static-content: triển khai, app/design/adminhtml/<yourpackage>/<yourtheme>/web/ thư mục nên chứa tệp. Bất kỳ tập tin giả sẽ làm công việc.


Tôi đã tạo một main.css trống trong thư mục web và tôi vẫn không nhận được tệp tĩnh nào được tạo
Scott

@Scott Bạn cũng đã thực hiện tất cả các bước cần thiết mà Marius đề xuất trong câu trả lời của mình chưa? Và chính xác đường dẫn tương đối đến main.css trông như thế nào trong dịp của bạn?
drevidchuck

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.