마 젠토 2-테마 유형 0 : 물리적, 1 : 가상, 2 : 무대. 언제 사용합니까?


30

에서 theme표 A가 type물리적, 가상 및 준비 : 3 개 가지 값으로이 필드.

실제 가상 및 준비 테마를 사용하는시기

luma 테마를 확장하면 새 테마가 테마 테이블에 가상 유형으로 나타납니다. 그러나이 유형은 일부 파일을 재정의 할 수 없으며 테마 유형을 가상에서 물리적으로 변경하는 것만으로 Magento_Theme패키지를 확장 할 수 있습니다.


좋은 질문 확실하지 않을 수 있습니다0: Physical - Magento Default Theme (Example: Magento Blank, Magento Luma, Magento 2 Backend) 1: Virtual - Custom Theme which is created by you (custom) which has parent as Default Theme (Example: My Theme) 2: Staging - ?
Ankit Shah

참조vendor\magento\module-theme\Model\Theme\Registration.php /** Allowed sequence relation by type, array(parent theme, child theme) * @var array */ protected $_allowedRelations = [ [ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_VIRTUAL], [ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_STAGING],]; /** Forbidden sequence relation by type ** @var array*/ protected $_forbiddenRelations = [[ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_VIRTUAL],[ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_STAGING],];
Ankit Shah

답변:


32

에 정의 된 3 가지 유형이 있습니다 Magento/Framework/View/Design/ThemeInterface:

  • 물리적 유형
  • 가상 유형
  • 스테이징 유형

물리적 테마

실제는 이러한 테마가 파일에 의해 정의된다는 사실을 나타냅니다. 예를 들어, 공백 및 루마 테마는 물리적으로app/design/frontend/

가상 테마

이것은 아직 확실하지 않지만 가상 테마는 백엔드에서 생성 할 수있는 테마를 의미하며 기존 물리적 테마를 확장하지만 아직 완전히 구현되지 않은 것 같습니다.

편집 섹션에는 가상 테마에만 사용할 수있는 두 개의 탭이 있으며 가상 테마에 대한 사용자 정의 CSS 및 JS를 제공 할 수 있습니다.

가상 테마는 짧은 테마 기간 동안 일시적으로 (크리스마스 테마와 같이) 설정하는 것이며 실제 테마와 비교하여 디자인 변경이 거의 필요하지 않습니다.

사용 가능한 가상 테마 추가 버튼은 없지만 다음 SQL 쿼리를 실행하면 가상 테마를 설정할 수 있으며 편집 할 때 CSS 및 JS 탭이 표시됩니다.

INSERT INTO `theme` (`theme_id`, `parent_id`, `theme_path`, `theme_title`, `preview_image`, `is_featured`, `area`, `type`, `code`) VALUES (NULL, '1', NULL, 'test', NULL, '0', 'frontend', '1', 'test/test');

여기 두 개의 추가 탭과 저장 / 삭제 버튼이 있습니다.

여기에 이미지 설명을 입력하십시오

준비 테마

준비 테마는 Magento 2.1 EE 준비 기능과 관련이 있다고 생각합니다. http://devdocs.magento.com/guides/v2.1/extension-dev-guide/staging/Staging.html

캠페인을 사용할 때 준비 테마가 있다고 가정하지만 100 % 확신 할 수는 없습니다.


당신은 방금 여기 내 문제를 해결했습니다 Raph! 감사합니다-Alvin :)
Alvin Nguyen

1
테이블 의 type열에 문제가 theme발생했습니다. 테마를 만들었고 어떻게 든 type값이 1(기본값 대신) 설정되었습니다 0. 모든 LESS / JS 변경 사항이 작동했지만 Magento는 type값을로 변경하기 전까지는 테마에서 레이아웃 파일을 읽지 않았습니다 0. 자세한 내용은 여기 : nahuelsanchez.com/…
Erik Hansen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.