아키텍처.

Learn DXPR BuilderExtendArchitectuur en API’s

DXPR Builder는 세 부분으로 이루어집니다. PHP의 필드 포매터, 브라우저에서 실행되는 편집기, 편집기가 데이터를 저장하고 가져올 때 호출하는 경로 집합. 이 페이지에서는 이들이 어떻게 맞물리는지 설명합니다.

필드 포매터

콘텐츠는 일반 Drupal 텍스트 필드에 저장된 HTML입니다(text, text_long 또는 text_with_summary). 보기 표시가 DXPR Builder 포매터 (dxpr_builder_text, src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php에 있음)를 쓰면 필드를 편집할 수 있습니다.

포매터는 다음이 모두 성립할 때만 편집기를 불러옵니다:

  • 보는 사람이 과금 대상. 사용자 1 또는 DXPR Builder 편집에서 제외되지 않고 edit with dxpr builder(이)가 있는 활성 계정.
  • 보는 사람이 엔터티를 업데이트할 수 있음.
  • 계정에 이메일 주소가 있음.
  • 라이선스의 사용자 및 콘텐츠 한도를 초과하지 않음.
  • 사이트가 라이선스 서버의 차단 목록에 없고 페이지가 리비전 페이지가 아님.

그 외 모두는 처리된 HTML을 받습니다. 경로 토큰 확장, Drupal 블록과 뷰를 자리 표시자에 렌더링, data-az* 편집기 특성 제거, 콘텐츠에 필요한 라이브러리 첨부. 로그인 사용자의 출력은 캐시되지 않습니다(max-age 0). 사용자별 설정을 담고 있기 때문입니다.

편집기

편집기는 다음으로 불러오는 JavaScript 파일 집합입니다: dxpr_builder/editor.builder 라이브러리. DXPR CDN에서 오거나, 로컬 빌드가 있으면 모듈 자체의 dxpr_builder/ 폴더에서 옵니다. Asset source 설정(General Settings에서)은 그때만 나타납니다. 편집기는 필드의 HTML을 요소 객체 트리로 파싱하고 저장할 때 HTML로 다시 씁니다.

요소 유형은 dxpr_builder/build/의 두 곳에서 옵니다:

폴더 요소 유형
dxpr-builder/core-elements/ Container, Section, Row, Column, Tabs와 탭, 토글, 슬라이드 패널
dxpr-elements/elements/ 콘텐츠 요소와 Collapsibles, Carousel, Positioned Layers 레이아웃 요소

각 요소는 설정을 자신의 HTML에 보관합니다. data-azat-* 특성, 클래스, 인라인 스타일. 저장된 HTML이 레이아웃의 유일한 기록입니다. 별도의 레이아웃 저장소는 없습니다. 형식은 사용자 정의 요소를 보세요.

기존 HTML 파싱

빌더 특성 없는 마크업은 편집기가 불러올 때 요소에 매핑됩니다. Bootstrap 컨테이너, 행, 칸은 섹션, 행, 칸이 됩니다. 알려진 구성 요소는 해당 요소가 됩니다. 버튼, 알림, 카드, 인용문, 이미지, 아이콘, 진행 막대, 탭, 접기 패널 등. 텍스트, 표, 기타 인라인 마크업은 Text 요소가 되고, <iframe>(은)는 HTML 요소가 됩니다. 떠다니는 <script>와 <style> 태그, 주석은 버려집니다. 규칙은 dxpr-builder/base-element/parse-html.js에 있습니다.

편집기가 호출하는 경로

편집기는 /dxpr_builder/ajax로 저장하고, /dxpr_builder/ajax/file_upload로 파일을 올리며, /dxpr_builder/ajax/ai/*로 AI에 닿습니다. 대부분 경로는 과금 사용자 접근 검사와 CSRF 토큰을 확인합니다. 접근 요구 사항이 있는 전체 목록은 API 참조에 있습니다.

구성 엔터티

엔터티 유형 구성 접두사 내용물
dxpr_builder_page_template dxpr_builder.page_template 전체 페이지 레이아웃
dxpr_builder_user_template dxpr_builder.user_template 편집자가 재사용용으로 저장한 섹션
dxpr_builder_profile dxpr_builder.dxpr_builder_profile 역할별 요소, 블록, 뷰, 템플릿, 아이콘 세트, 텍스트 편집기 버튼 제한

라이선스 확인

제품 키는 JWT입니다. DxprBuilderLicenseService(이)가 DXPR 라이선스 서버에 보내면 라이선스 상태와 사용자 및 콘텐츠 한도를 반환합니다. 결과는 캐시됩니다. 제품 키가 없으면 무료 등급 적용. 사용자 1명, 콘텐츠 100개. 서비스는 이 사이트 편집자의 서버 목록도 동기화합니다.