よくある質問
入力欄が表示されない、行を追加したい、ハンドルを変更したい、といったよくあるご質問への回答をまとめました。
コンテンツデータ編集画面に入力欄が表示されません
もっとも多い原因は、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 で実施しています。