For Want Of A Better Word

【MovableType】カスタムフィールドを追加しても、値が取得できない!! | run-periodic-tasksをデーモンモードで実行していると、新しいカスタムフィールドが取れない?

      2015/04/18

現象

  • ①カスタムフィールドを新しく追加した。
  • ②ブログテンプレートでカスタムフィールド値を取得して表示する記述を追加して保存。
  • ③記事側で、値をいれて更新して記事公開。
  • ④カスタムフィールドに設定した値が取れない。

特にエラーは出力されない。
さらに下記のように、取れたり取れなかったりする。

  • プレビューでは値が取れている。
  • 「テンプレートを修正して保存して再構築」を実施すると、本公開されているファイルでもとれている。
  • しかし、あらためて記事を更新(html更新)すると、また取れない状態になる。(この時もプレビューでは見えている。)

なんでテンプレートからの「保存と再構築」と、記事更新からの再構築で取れる取れないがかわるの!?

MovableTypeのバージョンが古かったので、MT6にバージョンアップしてみたけどダメ。

検索しても検索しても、同様の現象は出てこないし、むむむと色々ためしていると、下記の現象に遭遇。

ブログ記事再構築の設定が「公開キュー経由」だったものを、「スタティック」にすると表示されるようになる。

おやおや?「スタティック」と「公開キュー経由」って何が違うんだっけと思いめぐらすと、
「公開キュー経由」はrun-period-tasksによって再構築してるんだ….
テンプレートの「保存と再構築」もその場でリクエストしながら更新しているから、おそらくスタティックだし….

もしや..

対応と原因

run-periodic-tasksプロセスを再起動することで、無事解決。よっしゃ―!

記事の再構築を「公開キュー経由」に設定

かつ

run-periodic-tasksをデーモンモード(プロセス常駐)で実行

としていたことが原因のようです。
あまり同件が無かったのは、大体の人はcronで設定しているからでしょうか。

はっきり原因がわかったわけではないのですが、カスタムフィールドについてはプロセス起動時に存在したものしか取得できないという作りになっているのでしょうかね?

プロセスの再起動自体は手間ではないので、忘れずにいれば大丈夫。
あるいは定期的に再起動かなぁ。

 - movabletype

  関連記事

no image
【MovableType】公開日のテーブル項目名

メモ。 mt_entryテーブルの entry_authored_on です。 …

no image
MovableTyepタグ一覧・カテゴリ一覧 記事との関連付け情報

さんざん迷っていたけど、気づけばなぜ迷っていたかわからない。。。 tagの一覧と …