よくある質問

入力欄が表示されない、行を追加したい、ハンドルを変更したい、といったよくあるご質問への回答をまとめました。

コンテンツデータ編集画面に入力欄が表示されません

もっとも多い原因は、MTAppjQuery がインストールされていない、または無効になっていることです。スケジュールの入力 UI は MTAppjQuery が提供する mtapp.scheduleField() で描画されるため、MTAppjQuery が動作していない環境では入力欄が表示されません(エラーメッセージも表示されません)。

システムツールプラグイン で、MTAppjQuery(v3.1.0 以上)が有効になっていることをご確認ください。

MTAppjQuery が有効な場合は、次の点をご確認ください。

  • コンテンツタイプ側の「入力項目」が 1 件も設定されていない(列が無いため表が表示されません)
  • mt-static/plugins/ScheduleField/dist/schedule.js が配置されていない
  • ブラウザに古い JavaScript がキャッシュされている(スーパーリロードをお試しください)

コンテンツタイプを保存すると「入力項目」が消えます

ScheduleField v1.3.0 / v1.3.1 を Movable Type 9 の標準状態で使用した場合に発生する不具合です。v1.3.2 で修正済みです。「v1.3.2 へのアップデート」をご覧ください。

好きな行数の表を入力したいのですが

スケジュールフィールドは、選択した月の日数分の行を自動生成する仕様です。行を任意に追加・削除することはできません。

日付に紐づかない任意の行数の表を入力したい場合は、MTAppjQuery の mtapp.multiField() をご検討ください。

ハンドルに日本語は使えますか

使用できません。半角の英数字とアンダースコア(_)のみです。それ以外の文字は入力時に自動的に削除されます。

ハンドルを変更したら、入力済みのデータが表示されなくなりました

データは JSON のキーとしてハンドル名で保存されているため、ハンドルを変更すると以前のデータは表示されなくなります。元のハンドル名に戻すと、再び表示されます。

元のハンドル名がわからない場合は、コンテンツデータ編集画面の「データを表示」で保存されている JSON のキー名をご確認ください。

月を切り替えたら入力内容が消えました

日数が少ない月に切り替えると、超過した日付の行(31 日目など)のデータは破棄されます。切り替え前の状態には戻せません。保存前に内容をご確認ください。

1 つのフィールドで複数の月を管理できますか

できません。スケジュールフィールドが保存するのは 1 つの年月分のデータです。月ごとにコンテンツデータを分けるか、扱う月の数だけスケジュールフィールドを追加してください。

データラベルにスケジュールフィールドを指定できますか

指定できません。データラベルには単一行テキストなどのフィールドをご利用ください。

コンテンツデータ一覧に列として表示できますか

表示できません。入力内容を確認するには、コンテンツデータの編集画面を開いてください。

「必須」に設定しても未入力エラーになりません

スケジュールフィールドは、入力画面を開いた時点で年月と日付行を含む JSON を保存します。そのため値が空にならず、未入力としては検出されません。入力漏れを判定したい場合は、テンプレート側で各項目の値を確認してください。

テンプレートで JSON をそのまま出力したい

<mt:ContentFieldValue /> をそのまま書くと、保存されている JSON 文字列が出力されます。JavaScript に渡す場合は encode_js="1" を付けてください。

MTAppjQuery のライセンスがないと使えませんか

ScheduleField は MTAppjQuery のオプションプラグインです。ご利用には MTAppjQuery の有効なライセンスが必要で、ライセンスをお持ちの方は追加費用なしでご利用いただけます。

Movable Type 8 でも使えますか

ScheduleField v1.3.x は、Movable Type 8 系の Riot 方式のコンテンツタイプ編集画面にも対応しています。ただし v1.3.2 の動作確認は Movable Type 9.0.8 で実施しています。