Pickles 2

プラグイン設定: px2dt

Pickles 2 の設定項目のうち、CMSの動作を制御する設定項目 $conf->plugins->px2dt について説明します。

概要

$conf->plugins->px2dt は、 CMS の動作を制御する設定情報を格納します。 Pickles 2 を操作するCMSには、 Clover CMS や Pickles 2 Desktop Tool (babycorn) などがあります。

これらの設定は、pickles2/px2-px2dthelper プラグインが参照したり、 CMS機能が直接参照したり、様々な機能から参照され、適切に振る舞います。

設定項目

Broccoliモジュールセット $conf->plugins->px2dt->paths_module_template

モジュールセットのパスを設定します。 連想配列のキーは、モジュールのパッケージIDとして使われます。

// 例:
$conf->plugins->px2dt->paths_module_template = array(
    "package_id_001" => "./path/to/module_package_001/",
    "package_id_002" => "./path/to/module_package_002/",
);

Broccoliモジュールセットの格納ディレクトリ $conf->plugins->px2dt->path_module_templates_dir

モジュールセットが格納されているディレクトリへのパスを設定します。

// 例:
$conf->plugins->px2dt->path_module_templates_dir = "../px-files/modules/";

コンテンツエリアを識別するセレクタ $conf->plugins->px2dt->contents_area_selector

テーマから提供されるHTML内で、コンテンツエリアとして認識するべき要素を示す条件を、セレクタで指定します。

// 例:
$conf->plugins->px2dt->contents_area_selector = '[data-contents-area]';

この例のように設定した場合、 data-contents-area 属性がついている要素が、コンテンツの編集可能領域であると認識されます。

複数の要素がマッチすることも許容されますが、各要素に名前を与えて区別できるようになっている必要があります。 $conf->plugins->px2dt->contents_bowl_name_by に設定する属性名で、コンテンツエリアの名前を記述するようにします。 空白された場合は、 main という名前で識別されます。

コンテンツエリアのbowl名を指定する属性名 $conf->plugins->px2dt->contents_bowl_name_by

コンテンツエリアの名前を取得する属性名を設定します。

// 例:
$conf->plugins->px2dt->contents_bowl_name_by = 'data-contents-area';

この例のように設定した場合、 $conf->plugins->px2dt->contents_area_selector から検索された要素についている data-contents-area 属性の値を取得し、これをコンテンツエリアの名前として認識します。

コンテンツエリア名が空白の場合、デフォルトで main という名前で識別します。

パブリッシュのパターンを登録 $conf->plugins->px2dt->publish_patterns

よく使うパブリッシュ設定を登録することができます。

ここで登録したパブリッシュ設定は、パブリッシュ画面から選択して自動入力できます。

// 例:
$conf->plugins->px2dt->publish_patterns = array(
    array(
        'label'=>'すべて',
        'paths_region'=> array('/'),
        'paths_ignore'=> array(),
        'keep_cache'=>false,
    ),
    array(
        'label'=>'共有リソース',
        'paths_region'=> array('/common/'),
        'paths_ignore'=> array(),
        'keep_cache'=>false,
    ),
    array(
        'label'=>'ブログ (一覧のみ)',
        'paths_region'=> array('/blog/'),
        'paths_ignore'=> array('/blog/articles/'),
        'keep_cache'=>true,
    ),
);

コンテンツテンプレートの格納ディレクトリ $conf->plugins->px2dt->path_contents_templates_dir

コンテンツテンプレートが格納されているディレクトリへのパスを設定します。

// 例:
$conf->plugins->px2dt->path_contents_templates_dir = "../px-files/contents_templates/";

ブロックエディタ関連設定 $conf->plugins->px2dt->guieditor

ファイルドロップオペレータ $conf->plugins->px2dt->guieditor->dropped_file_operator

// 例:
$droppedImageOperator = \pickles2\px2style\utils::droppedFileOperator('image');
$conf->plugins->px2dt->guieditor->dropped_file_operator = array(
    'png' => $droppedImageOperator,
    'gif' => $droppedImageOperator,
    'jpg' => $droppedImageOperator,
    'svg' => $droppedImageOperator,
    'application/svg+xml' => $droppedImageOperator,
);

ブロックエディタデータディレクトリ $conf->plugins->px2dt->guieditor->path_data_dir

// 例:
$conf->plugins->px2dt->guieditor->path_data_dir = '{$dirname}/{$filename}_files/guieditor.ignore/';

ブロックエディタリソース出力先ディレクトリ $conf->plugins->px2dt->guieditor->path_resource_dir

// 例:
$conf->plugins->px2dt->guieditor->path_resource_dir = '{$dirname}/{$filename}_files/resources/';

カスタムフィールド $conf->plugins->px2dt->guieditor->custom_fields

// 例:
$conf->plugins->px2dt->guieditor->custom_fields = array(
    // フィールド設定例
    'foobar' => array(
        'backend'=>array(
            'class' => 'class_name\\of\\php_version',
            'require' => './path/to/js_version.js',
        ),
        'frontend'=>array(
            'dir' => './path/to/frontend_resources/',
            'file' => array(
                'foobar.css',
                'foobar.js',
            ),
            'function' => 'window.BroccoliFieldFoobar'
        ),
    ),

    // 設定済みの名前から参照する例
    'hogefuga' => "foobar",
);

Broccoliフィールドの初期設定 $conf->plugins->px2dt->guieditor->field_config

// 例:
$conf->plugins->px2dt->guieditor->field_config = array(
    // image フィールドを設定
    'image' => array(
        'filenameAutoSetter' => 'random', // random = 画像ファイル名をランダムに自動命名する。
    ),
);

ブロックエディタの種類 $conf->plugins->px2dt->guiEngine

次の値のいずれかを設定します。

  • legacy = 旧GUI編集ツール。(廃止)
  • broccoli-html-editor = NodeJSで実装された broccoli-html-editor を使用。(非推奨)
  • broccoli-html-editor-php = PHPで実装された broccoli-html-editor を使用。

これは、古い設定項目です。

かつてブロックエディタに複数のバージョンが検討されていたときに、それを選択する設定でした。 2023/1/14 現在、 broccoli-html-editor-php のみが引き続きサポートされています。

管理画面拡張 $conf->plugins->px2dt->custom_console_extensions

管理画面の拡張項目を設定します。

// 例
/**
 * CMS画面に追加するカスタム管理画面を登録する
 */
$conf->plugins->px2dt->custom_console_extensions = array(
    'sample' => 'yourVendorName\customConsoleExtensions\sample\main',
);

詳しくは、管理画面拡張のページを参照してください。