---
url: 'https://dxpr.com/ja/hc/documentation/learn-dxpr-builder/development/architecture'
title: 'アーキテクチャ | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T11:27:54+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  DXPR Builderは3つの部分から成ります。PHPのフィールドフォーマッター、ブラウザーで動作するエディター、データの保存・取得のためにエディターが呼び出すルート群です。このページでは、これらがどのように連携するかを説明します。
  フィールドフォーマッター
  コンテンツは通常のDrupalテキストフィールド(text、
  text_long、text_with_summary)に保存されたHTMLです。ビューディスプレイがDXPR Builderフォーマッター
  (dxpr_builder_text。格納場所は
  src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php)を使うと、そのフィールドは編集可能になります。
  フォーマッターがエディターを読み込むのは、次のすべてを満たす場合のみです。
tags:
  - 'Architectuur en API’s'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T11:27:54+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: アーキテクチャ
      description: |-
        DXPR Builderは3つの部分から成ります。PHPのフィールドフォーマッター、ブラウザーで動作するエディター、データの保存・取得のためにエディターが呼び出すルート群です。このページでは、これらがどのように連携するかを説明します。
        フィールドフォーマッター
        コンテンツは通常のDrupalテキストフィールド(text、
        text_long、text_with_summary)に保存されたHTMLです。ビューディスプレイがDXPR Builderフォーマッター
        (dxpr_builder_text。格納場所は
        src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php)を使うと、そのフィールドは編集可能になります。
        フォーマッターがエディターを読み込むのは、次のすべてを満たす場合のみです。
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T11:27:54+0000'
      dateModified: '2026-10-24T11:27:54+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ja/hc/documentation/learn-dxpr-builder/development/architecture'
      articleSection: 'Architectuur en API’s'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ja/hc/documentation/learn-dxpr-builder/development/architecture'
      description: |-
        DXPR Builderは3つの部分から成ります。PHPのフィールドフォーマッター、ブラウザーで動作するエディター、データの保存・取得のためにエディターが呼び出すルート群です。このページでは、これらがどのように連携するかを説明します。
        フィールドフォーマッター
        コンテンツは通常のDrupalテキストフィールド(text、
        text_long、text_with_summary)に保存されたHTMLです。ビューディスプレイがDXPR Builderフォーマッター
        (dxpr_builder_text。格納場所は
        src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php)を使うと、そのフィールドは編集可能になります。
        フォーマッターがエディターを読み込むのは、次のすべてを満たす場合のみです。
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: ホーム
            item: 'https://dxpr.com/ja'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ja
---
[Help Center](/ja/node/75)/[Documentation](/ja/hc/documentation) /[Learn DXPR Builder](/hc/documentation/learn-dxpr-builder) /[Extend](/hc/documentation/learn-dxpr-builder/extend) /[Architectuur en API’s](/hc/documentation/learn-dxpr-builder/extend/architecture) # アーキテクチャ.

 Learn DXPR BuilderExtendArchitectuur en API’s

   ## In this guide

DXPR Builderは3つの部分から成ります。PHPのフィールドフォーマッター、ブラウザーで動作するエディター、データの保存・取得のためにエディターが呼び出すルート群です。このページでは、これらがどのように連携するかを説明します。

## フィールドフォーマッター

コンテンツは通常のDrupalテキストフィールド(`text`、 `text_long`、`text_with_summary`)に保存されたHTMLです。ビューディスプレイが**DXPR Builder**フォーマッター (`dxpr_builder_text`。格納場所は `src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php`)を使うと、そのフィールドは編集可能になります。

フォーマッターがエディターを読み込むのは、次のすべてを満たす場合のみです。

- 閲覧者が課金対象(user 1、またはDXPR Builder編集から除外されていない `edit with dxpr builder`付きの有効なアカウント)。
- 閲覧者がエンティティを更新できる。
- アカウントにメールアドレスがある。
- ライセンスのユーザー上限とコンテンツ上限を超えていない。
- サイトがライセンスサーバーのブロックリストになく、ページがリビジョンページでない。

その他の全員には処理済みHTMLが返されます。パストークンの展開、Drupal ブロックとビューのプレースホルダーへのレンダリング、`data-az*`エディター属性の除去、コンテンツが必要とするライブラリの アタッチが行われます。ログインユーザー向けの出力はキャッシュされません(`max-age`は0)。 ユーザーごとの設定を含むためです。

## エディター

エディターは`dxpr_builder/editor.builder`ライブラリとして読み込まれるJavaScriptファイル群です。DXPRのCDNから提供されるか、ローカルビルドがある場合はモジュール内の`dxpr_builder/`フォルダーから提供されます。**Asset source**設定(General Settings内)はその場合にのみ表示されます。エディターはフィールドのHTMLをエレメントオブジェクトのツリーに解析し、保存時にHTMLに書き戻します。

エレメントタイプは`dxpr_builder/build/`内の2か所にあります。

| フォルダー | エレメントタイプ |
|---|---|
| `dxpr-builder/core-elements/` | コンテナー、セクション、ロー、カラム、タブとそのタブ・トグル・スライドパネル |
| `dxpr-elements/elements/` | コンテンツエレメントとCollapsibles、Carousel、Positioned Layersレイアウトエレメント |

各エレメントは設定を自身のHTML内に保持します。`data-azat-*`属性、クラス、インラインスタイルです。保存されたHTMLがレイアウトの唯一の記録であり、別のレイアウトストレージはありません。 [カスタムエレメント](/hc/documentation/learn-dxpr-builder/development/custom-elements)で形式を確認できます。

### 既存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リファレンス](/hc/documentation/learn-dxpr-builder/development/api#editor-routes)にあります。

## 設定エンティティ

| エンティティタイプ | 設定プレフィックス | 内容 |
|---|---|---|
| `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件です。このサービスは、このサイトの編集者に関するサーバー側リストの同期も維持します。