Cảm ơn bạn @Alex! Giải pháp của bạn đã làm việc cho tôi! Tôi có thể thấy từ nguồn mà khu vực quản trị đang sử dụng chủ đề của tôi bây giờ.
Các bước:
- tạo một chủ đề mới trong
app/design/adminhtml/Vendor/Themename
. Trong thư mục đó, tạo một theme.xml
:
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>My Theme Tile</title>
<parent>Magento/backend</parent>
</theme>
Và đăng ký.php:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'adminhtml/Vendor/Themename',
__DIR__
);
- Tạo mô-đun mới để triển khai chủ đề của bạn hoặc sử dụng một số mô-đun hiện có; dù bằng cách nào, trong các mô-đun của bạn hãy
module.xml
thêm sequence
phần tử xml để đảm bảo chủ đề của bạn được tải lần cuối.
<config>
<module name="My_Custommodule" setup_version="2.0.0">
<sequence>
<module name="Magento_Theme"/>
</sequence>
</module>
</config>
và trong các mô-đun tùy chỉnh của bạn, hãy etc/di.xml
thêm đoạn chỉ định chủ đề quản trị viên sẽ sử dụng:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Theme\Model\View\Design">
<arguments>
<argument name="themes" xsi:type="array">
<item name="adminhtml" xsi:type="string">Vendor/Themename</item>
</argument>
</arguments>
</type>
</config>
- chạy
setup:upgrade
và thì đấy! Kiểm tra chủ đề nào đang được sử dụng bằng cách xem nguồn: tất cả các tệp css và js sẽ được tải từ/pub/static/adminhtml/Vendor/Themename/[language]/....
Tuy nhiên, tất cả các trang quản trị dường như thiếu phong cách . Tôi đang ở chế độ nhà phát triển và đã làm setup:static-content:deploy [languages]
(không có lỗi) nhưng điều đó không giải quyết được vấn đề. Tôi cũng gặp vấn đề tương tự trên frontend, nhưng không thể nhớ tôi đã sửa nó như thế nào .. tôi có cần sao chép các tập tin js và css từ magento-backend
mô-đun để làm cho nó hoạt động không?
GIẢI QUYẾT VẤN ĐỀ : có vẻ như tôi đã gặp phải vấn đề này: Cách chính xác để cập nhật Phụ huynh của chủ đề trong Magento 2 , nếu tôi cài đặt chủ đề của mình và sau đó thay đổi phụ huynh thành một thứ khác theme.xml
, nó sẽ không được cập nhật trong cơ sở dữ liệu và nó sẽ không được cập nhật hiệu ứng. Ban đầu tôi đã đặt Magento / trống vào phần tử cha và điều đó rõ ràng là không hoạt động, và việc thay đổi nó thành Magento / phụ trợ sau đó cũng không giúp được gì (theo liên kết ở trên). Vì vậy, tôi đã đi vào cơ sở dữ liệu và đặt cha_id cho chủ đề của mình bằng tay. Và cứ như thế, mọi thứ đều hoạt động :)
/pub/static/adminhtml/Magento/backend/[language]/css/styles.css
không được tham chiếu trong nguồn. Nhìn vàovendor/magento/magento-backend/view
và các tập tin bố trí, nó cũng không được tham chiếu ở đó. Rõ ràng, nó được chỉ định trongvendor/magento/theme-adminhtml-backend/Magento_Backend/layout/default.xml
nhưng làm cách nào để nó hiển thị trong chủ đề của tôi?