本文へ移動
STUDIO UMI
DRUPAL BLOGDrupalブログ

Dateで作成したフィールドを表示した時のバグの解消法

Machiko Yamanaka

こんにちは。スタジオ・ウミの山中です。

Dateモジュールで作成した入力フィールドのデータをノードページやViewsで表示させようとしたら表示がおかしくなるバグに出くわしたのでここに記します。 結果から言うと書式のカスタマイズでエスケープ処理?をすればなおりました。

前提条件

☆Drupalの日付はデフォルトの並びだと日本人には読みにくいので変更しておきます。
ついでに書式のカスタマイズも行っていますがそれについてはこちらの記事をどうぞ。

☆DateモジュールとDate APIモジュールを有効にします。
あと日付の入力がとっても楽になるのでDate Popupモジュールも有効にしておきます。

☆Date(日付)タイプのフィールドを作ったコンテンツタイプを作っておきます。
「Date (ISO format)」とか「Date (Unix timestamp)」じゃなくて、「Date」です。
ウィジェットはDate Popupモジュールが有効になっていたら「Pop-up calendar」の項目が出てくるのでそれに設定して、「▼MORE SETTINGS AND VALUES」の中の「Date entry options」を見やすいものに変更しておきます。

その他の設定はデフォルトのまま。ここではあとで見やすいようにDateタイプのフィールドを一番上に移動させています。

ここまでが前提です。ここまできたら日付が簡単に入力できるフィールドが生成されています。

 日付登録して掲載してみる

日付用のフィールドも作ったことだし、早速登録!

ちなみにフィールドのウィジェットを「Pop-up calendar」にしておけば日付を入力しようとするとこのようにちっちゃいカレンダーが出てきて日付を選ぶとその日付が入力されます。便利!

書き込めたら保存します。

やったー!ページの作成ができたー!・・・・・ん?

日付の表示がおかしいですね・・・

解消法

検索したら同じ現象に出会った方がいたようでg.d.oで議論されていました。

cckのdateフィールドで入力した日付データをviewsで出力した際のフォーマットについて。外部リンク

このページの最後の投稿(2013年9月4日)で簡単に解決することができました。
データタイプの書式の設定で2バイト文字の前にバックスラッシュ「\」を入力することで解決できるようです。多分エスケープ処理。
「Y年n月j日 (l) H時i分」と書いているところを「Y\年n\月j\日 (l) H\時i\分」として、書式を変更するとデータタイプの割当が解除されちゃうみたいなのでもう一回設定しなおしたら解決しました!

↓ ↓ ↓

Windowsなら\じゃなくて¥マークが表示されるかな?
↓ ↓ ↓

スタジオ・ウミは15年以上の実績を誇るDrupal専門の開発会社です。豊富な知見とノウハウでDrupalサイトの開発や技術サポートなどDrupal関連サービスをワンストップでご提供します。

RECRUIT

新たなステージを共に歩んでいける
コアメンバーを募集しています

採用情報

CONTACT

お仕事のご相談やお見積依頼など、
お気軽にお問い合わせください。

お問い合わせ