Twig 템플릿 재정의.
DXPR Builder는 에디터에 컴파일된 템플릿에서 브라우저에 요소를 렌더링합니다. 테마에 복사할 수 있는 요소 템플릿은 없습니다. 모듈은 자체 페이지용 Twig 템플릿 네 개를 제공하며, 일반적인 Drupal 방식으로 재정의합니다. 이 페이지에서는 해당 템플릿을 나열하고, 요소 마크업을 재정의할 수 없는 이유를 설명한 뒤, 모듈이 대신 지원하는 경로를 안내합니다.
재정의할 수 있는 Twig 템플릿
템플릿은 모듈의 templates/ 폴더에 있습니다:
| 템플릿 | 용도 | 변수 |
|---|---|---|
dxpr-license-info.html.twig |
다음의 사용량 요약: User Licenses 및 Content items 페이지, License info 블록 | used_count, total_count, limit, block_label, total_label, used_label, more_info_link |
page--dxpr-builder--media-library.html.twig |
다음의 Media Library 대화상자 페이지 래퍼: /dxpr_builder/media-library |
표준 page 변수 |
html--dxpr-builder--media-library.html.twig |
같은 대화상자의 <html> 래퍼 |
표준 html 변수 |
page--people-list.html.twig |
라이선스 요약이 있는 People 페이지(/admin/people)의 시작점 |
표준 page 변수와 user_license |
앞의 세 개는 그대로 작동합니다. Drupal은 모듈에서 page--people-list.html.twig(을)를 불러오지 않습니다. DXPR
Builder는 People 페이지에 page__people_list 제안과 user_license 변수만 추가합니다. 요약을 표시하려면
파일을 관리 테마에 복사하세요.
템플릿을 재정의하려면:
- 다음 파일을 복사하세요:
modules/contrib/dxpr_builder/templates/. 렌더링하는 테마의templates/폴더에 넣으세요. 관리 페이지와 Media Library 대화상자는 관리 테마를 사용합니다. License info 블록은 배치한 리전의 테마를 사용합니다. - 복사본을 편집하세요.
- 다음으로 캐시를 비우세요:
drush cr.
요소 마크업을 재정의할 수 없는 이유
각 요소의 마크업은 dxpr_builder/templates/의 twig.js 템플릿입니다. 예: elements/alert/alert.twig.html. 빌드는 해당
템플릿을 dxpr_builder/dxpr_templates.js(으)로 컴파일합니다. 에디터가 브라우저에서 렌더링하고 결과 HTML을 필드에
저장합니다. 다음 두 가지가 따릅니다:
- 바뀐 템플릿에는 에디터 다시 빌드가 필요합니다. DXPR CDN에서 에디터를 불러오는 사이트는 바뀐 템플릿을 전혀 사용할 수 없습니다.
- 저장된 페이지는 저장 당시의 HTML을 유지합니다. 새 템플릿은 변경 후 렌더링되는 요소에만 영향을 줍니다.
따라서 모듈은 요소 템플릿의 사이트별 재정의 기능을 제공하지 않습니다. 아래 경로 중 하나를 사용하세요.
지원되는 사용자 지정 경로
| 목표 | 경로 |
|---|---|
| 편집자용 재사용 레이아웃 | Page templates 및 User templates. 빌더에서 선택 |
| 요소 모양 변경 | Custom CSS(테마에 있음). 자신의 클래스나 az-* 클래스 대상 |
| 편집자에게 이름 있는 스타일 제공 | Utility classes(테마의 .info.yml에서), custom styles(텍스트 에디터용) |
| 추가 아이콘 세트 | Icon libraries |
| 새 요소 유형 | Creating custom elements |
다음 단계
- Page templates: 편집자가 사용하는 템플릿 시스템입니다.
- Theming DXPR Builder: 빌더 CSS와 테마가 맞는 방식입니다.