마 젠토 2 : 루마 테마 홈 페이지를 재정의하는 방법


9

WAMP Windows 10에서 Magento 2 CE 버전 2.1.0을 사용하고 있습니다.

나는 이미 언급했다

마 젠토 2 : 미니 카트 기본 템플릿 HTML 파일을 무시하는 방법?

마 젠토 2 기본 루마 테마를 재정의하고 싶습니다

폴더 구조가 아래와 같습니다

magento2
 |_ app
   |_ design
      |_ frontend
        |_ Custom
            |_Theme
              |_Magento_Theme
                |_templates
                  |_root.phtml     - Copy of Luma
                registration.php
                theme.xml

app \ design \ frontend \ Custom \ Theme \ Magento_Theme \ registration.php

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

app \ design \ frontend \ Custom \ Theme \ Magento_Theme \ 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>
    <parent>Magento/luma</parent>
</theme>

php bin/magento setup:static-content:deploy캐시를 실행 하고 지 웁니다. 에 새로 만든 테마가 표시되지 않습니다 Admin -> Content -> Design -> Configuration. 드롭 다운 목록을 편집하십시오.

내가 아직도 무엇을 놓치고 있습니까?


답변:


6

새로운 테마 나 모듈을 만들 때 모듈이나 테마 폴더의 루트에 registration.php 파일을 정의해야합니다.

Magento가 테마 이름 선언에이 표준을 사용했기 때문에 항상 테마 이름을 소문자로 사용하십시오.

당신은 낙타로 테마 이름을 유지하는 데 아무런 문제가 없지만 표준 방법을 사용하는 것은 대단히 감사합니다.

Magento_Theme 폴더 안에 registration.php 파일을 잘못 정의해야합니다.

테마 구조의 올바른 다이어그램은 다음과 같습니다.

magento2
 |_ app
   |_ design
      |_ frontend
        |_ Custom
            |_theme
              |_Magento_Theme
                |_templates
                  |_root.phtml     - Copy of Luma
              |_registration.php
              |_theme.xml

registration.php의 경로는 app\design\frontend\Custom\theme\registration.php

registration.php 파일 :

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

theme.xml 파일 경로는 다음과 같습니다.

app\design\frontend\Custom\theme\theme.xml

theme.xml 파일 :

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

모든 설정이 완료되면 테마에 대해 deploy 명령을 실행해야합니다.

php bin/magento setup:static-content:deploy

Content -> Design -> Configuration사용자 정의 테마를 설정하려면 관리자 패널 내부를 확인하십시오 .

캐시를 제거하고 프론트 엔드를 체크인하십시오.


Bijal Usean & SH Patel. 이전에 나는이 문제에 대해 그와 토론하고 있기 때문에 @Rakesh의 대답을 받아 들였습니다.
Ankit Shah

Admin에서 저장하는 동안 오류가 발생했습니다 Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory. 새로운 테마를 저장하고 활성화 할 수 없습니다
Ankit Shah

upgrade 명령을 실행 한 다음 deploy 명령을 실행하고 루트에서 var 폴더를 제거하고 확인하십시오
Rakesh Jesadiya

아니. 아직도 문제
Ankit Shah


1

당신이 배치 theme.xmlregistration.php을 잘못된 위치에 실제 위치는

app/design/frontend/<vendor>/<theme>/registration.php

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

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/<vendor>/<theme>',
    __DIR__
);

app/design/frontend/<vendor>/<theme>/theme.xml

<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
    <title>Vendor Theme</title>
    <parent>Magento/luma</parent>
    <media>
        <preview_image>media/preview.jpg</preview_image>
    </media>
</theme>

참고 : preview.jpg를app/design/frontend/<vendor>/<theme>/media/preview.jpg

이 두 파일은 관리자에서 테마 목록을 가져 오기에 충분한 다음 테마를 적용하십시오.

예를 들어 루마 템플릿을 재정의하려는 경우 다음에서 템플릿을 app/code/Magento/Catalog/view/frontend/templates/product/view/addtocart.phtml변경할 수 있습니다.app/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/view/addtocart.phtml


관리자에서 저장하는 동안 오류가 발생 Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory.하여 새 테마를 저장하고 사용하지 못함
Ankit Shah

파일 권한 문제처럼 보입니다. magento 표준에 따라 올바른 권한을 설정했는지 확인하십시오.
Bilal Usean

질문에서 언급했듯이I'm using Magento 2 CE Version 2.1.0 on WAMP Windows 10
Ankit Shah


magento 루트 디렉토리 액세스 사용자 및 해당 사용자 그룹을 확인하십시오. 웹 서버 사용자 및 해당 그룹이어야하며 해당 디렉토리의 읽기 / 쓰기 권한을 확인하십시오. 더 많은 아이디어를 얻을 수있는이 두 링크를 참조 devdocs.magento.com/guides/v2.0/install-gde/prereq/...의 magento.stackexchange.com/q/91870/36463을
빌랄 Usean

1

사용한 경로가 잘못되었습니다.

새로운 사용자 정의 테마를 만들려면 다음 지침을 따르십시오.

아래 코드로 theme.xml 파일을 작성하십시오 /app/design/frontend/Custom/Theme/theme.xml.

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

app/design/frontend/Custom/Theme/registration.php아래 코드로 registration.php 파일을 만드 십시오.

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

에서 preview.jpg 복사

vendor/magento/theme-frontend-luma/media/preview.jpg 

에 추가

app/design/frontend/Custom/Theme/media/preview.jpg

이제 관리자에서 사용자 정의 테마를보고 관리자에서 사용자 정의 테마를 선택하여 저장하십시오.


관리자에서 저장하는 동안 오류가 발생 Cannot read contents from file "D:/wamp/www/magento2/" Warning!file_get_contents(D:/wamp/www/magento2/): failed to open stream: No such file or directory.하여 새 테마를 저장하고 사용하도록 설정할 수 없음
Ankit Shah

루마 테마 저장 작업이 제대로 되었습니까?
Suresh Chikani

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.