FreeLayoutCustomField

対応バージョン:MovableType7

フリーレイアウト型のカスタムフィールドを含むテーマのエクスポート

更新日:2024.02.06

Movable Typeにはテーマ機能があり、テンプレートなどのサイト構造をエクスポートして、他の案件等で再利用することができます。
カスタムフィールドの定義も、テーマにエクスポートすることができます。ただ、フリーレイアウト型のカスタムフィールドは、標準のMovable Typeのままではエクスポートすることができません。エクスポートするためには、Movable Typeのコアのソースコードを書き換える必要があります。
書き換えるファイルは、Movable Typeのインストール先の「addons」→「Commercial.pack」→「lib」→「CustomFields」ディレクトリにある「Theme.pm」です。このファイルの最後の方にある部分を、以下のように書き換えます(網掛けした部分を追加)。

Theme.pmの書き換え箇所

  ・・・
  return unless scalar @fields;
  my %data = map {
    $_->basename => {
      name => $_->name,
      obj_type => $_->obj_type,
      default => $_->default,
      description => $_->description,
      options => $_->options,
      tag => $_->tag,
      type => $_->type,
      required => $_->required,
      flcf_def => $_->flcf_def,
      flcf_html => $_->flcf_html,
      flcf_css => $_->flcf_css,
      flcf_init_js => $_->flcf_init_js,
      flcf_js => $_->flcf_js,
      flcf_validator => $_->flcf_validator,
      flcf_used_ctrls => $_->flcf_used_ctrls,
      flcf_unused_ctrls => $_->flcf_unused_ctrls,
      }
  } @fields;
  return \%data;
}

1;

なお、エクスポートする場合は、ここまでで述べたようにコアのソースコードを書き換える必要があります。一方、エクスポートしたテーマをインポートする側は、コアの書き換えは必要ありません。標準のMovable Typeのままでインポートできます。

前へ
プラグインTOP