chủ đề không được hiển thị trong danh sách bảng quản trị magento2


11

tôi chỉ tạo chủ đề thử nghiệm mới nhưng nó không hiển thị trong danh sách chủ đề của bảng quản trị

app/design/frontend/Magento/mytheme/theme.xml

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
     <title>My theme</title> <!-- your theme's name -->
     <parent>Magento/blank</parent> <!-- the parent theme, in case your theme inherits from an existing theme -->
     <media>
         <preview_image>media/preview.jpg</preview_image> <!-- the path to your theme's preview image -->
     </media>
 </theme>

Tôi có vấn đề tương tự. Sự khác biệt duy nhất, tôi đã tạo chủ đề trống mới của mình với một tên Nhà cung cấp khác với "Magento". Điều đó có được phép không? Vì vậy, cấu trúc của tôi là: app/code/design/mycompany/mynewtheme/Tôi chỉ không thể làm cho nó hoạt động - trong bảng quản trị chỉ có các chủ đề mặc định trống Luma và Magento, không có chủ đề mới nào tôi tạo.
stamster

bạn đã triển khai contentvà kiểm tra pub/staticthư mục. Tôi sẽ rất tuyệt nếu bạn đăng câu hỏi mới với mã của mình, sẽ hữu ích hơn khi đưa ra giải pháp.
Qaisar Satti

Câu trả lời:


8

tự mình tìm ra tôi đã bỏ lỡ

app/design/frontend/Magento/mytheme/composer.json

{
    "name": "magento/theme-frontend-blank",
    "description": "N/A",
    "require": {
        "php": "~5.5.0|~5.6.0|~7.0.0",
        "magento/theme-frontend-blank": "100.0.*",
        "magento/framework": "100.0.*"
    },
    "type": "magento2-theme",
    "version": "100.0.1",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "autoload": {
        "files": [
            "registration.php"
        ]
    }
}

app/design/frontend/Magento/mytheme/registration.php

<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Magento/mytheme',
    __DIR__
);

Tài liệu tham khảo


6

Trong trường hợp của tôi, nó hoạt động sau khi tôi chạy lệnh sau từ thư mục gốc Magento 2:

php bin/magento setup:upgrade

Nếu nó không hoạt động, thì bạn có thể chạy lệnh với sudo:

sudo php bin/magento setup:upgrade

5

Thực hiện theo các bước để tạo chủ đề mới:

bước: 1 (theme.xml bên trong ứng dụng / thiết kế / frontend / Magento / companyname)

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

Bước: 2 (register.php bên trong ứng dụng / thiết kế / frontend / Magento / tên công ty)

Trong tập tin này, chúng ta phải sử dụng CompanyName trong trường hợp nhỏ cho giá trị xác định chủ đề của chúng tôi frontend / Magento / CompanyName .

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Magento/companyname',
    __DIR__
);

Bước: 3 composer.json (composer.json bên trong ứng dụng / thiết kế / frontend / Magento / companyname)

{
    "name": "magento/theme-frontend-companyname",
    "description": "N/A",
    "require": {
        "php": "~5.5.0|~5.6.0|~7.0.0",
        "magento/theme-frontend-luma": "100.0.*",
        "magento/framework": "100.0.*"
    },
    "type": "magento2-theme",
    "version": "100.0.2",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "autoload": {
        "files": [
            "registration.php"
        ]
    }
}

5

Tôi gặp vấn đề tương tự với chủ đề tùy chỉnh của mình không hiển thị trong Magento 2.1.6, tuy nhiên, có vẻ như các tệp của tôi đã đúng theo hướng dẫn được tìm thấy trên Magento Dev Docs - http://devdocs.magento.com/guides/v2.1 /frontend-dev-guide/theme/theme-create.html

Vấn đề của tôi có thể là do chế độ được đặt thành sản xuất thay vì nhà phát triển do vấn đề tốc độ chạy trên localhost.

Tôi thấy rằng chủ đề sẽ không hiển thị tuy nhiên cho đến khi tôi chạy phần sau ...

php bin/magento cache:clean
php bin/magento setup:upgrade 
php bin/magento setup:static-content:deploy

có thể bạn không đặt chế độ nhà phát triển.
Qaisar Satti

@QaisarSatti điều này là đúng, tôi đã chạy trong chế độ sản xuất do sự cố chậm trên localhost.
Shaun Newrick

1
bạn cũng phải đề cập đến chế độ sản xuất trong câu trả lời của mình
Qaisar Satti

2

Tôi đã từng gặp vấn đề tương tự. Tôi đã vô tình tạo tệp đăng ký thay vì register.php


0

Thực hiện theo các bước dưới đây

bước: 1 (theme.xml)

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

Bước: 2 (đăng ký.php)

<?php
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/Magento/Apple',
    __DIR__
);

Bước: 3 composer.json

{
    "name": "magento/theme-frontend-apple",
    "description": "N/A",
    "require": {
        "php": "~5.5.0|~5.6.0|~7.0.0",
        "magento/theme-frontend-luma": "100.0.*",
        "magento/framework": "100.0.*"
    },
    "type": "magento2-theme",
    "version": "100.0.2",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "autoload": {
        "files": [
            "registration.php"
        ]
    }
}

Thêm chi tiết


Tôi đã làm theo các bước này và nó đã hoạt động, tuy nhiên, tôi cần thay đổi tệp theme.xml để thay đổi tiêu đề và thêm chủ đề gốc, tuy nhiên, thay đổi không được làm mới. Tôi đã tắt bộ đệm, vì vậy tôi không biết phải thử cái gì nữa.
jstuardo
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.