どなたかお助けください。
<やりたいこと>
月別アーカイブを作成日(公開日)ではなく、ブログ記事作成画面に追加した日付カスタムフィールドを基準とした月別アーカイブをつくりたい。
イベント情報のページを作っています。
イベント開催日を日付カスタムフィールド<$mt:cfeventday$>により入力(出力)するようにしています。当然記事作成時とイベントの開催日は異なります。
そこで、"月別イベント一覧"という月別アーカイブを作り、3月のイベント一覧、2月のイベント一覧という風に表示したいと思っています。
<やってみたこと>
記事のアーカイブマッピングをカスタムにて以下のようにしたところ
<$mt:cfeventday format="%Y"$>/<$mt:cfeventday format="%m"$>/<$mt:cfeventday format="%d"$><MTEntryID pad="1">.html
2009
├02
├100001.html(2月10日に行われるイベント記事)
├200002.html(2月20日に行われるイベント記事)
├03
├100003.html(3月10日に行われるイベント記事)
├200004.html(3月20日に行われるイベント記事)
という風に、ファイル保存形式は見た目上、理想通りイベント開催月(開催日)ごとに保存されました。
あとは通常通り、月別アーカイブテンプレートを作成し、出力するだけと思いやってみたのですが、実際に出力されるのは、いつも通りの記事作成日(公開日)を基準としたくくりになってしまいます。
上記例でいくと、記事作成を2月1日に4つ全て行ったとしたら、全て2月のイベントとして表示されます。
また月別アーカイブリストは
├2009年2月(4)
├2009年3月(0)
となります。
これらを日付カスタムフィールドで入力した日付を基準とした(実際の保存状態をもとに?)月別イベントアーカイブとして表示させたいのです。また、月別アーカイブリストも同様に
├2009年2月(2)
├2009年3月(2)
のように表示させたいです。
以下が月別アーカイブテンプレートの内容です。
<p>3月開催予定イベント一覧</p>
<mt:Entries sort_by="field:cfevntdaydasename" sort_order="ascend">
<$mt:cfeventday$><$mt:entrytitle$>
</mt:Entries>
以下が月別アーカイブリストのテンプレート内容です。
<mt:ArchiveList archive_type="Monthly">
<mt:ArchiveListHeader><span class="dir">▼月別イベント一覧</span><ul></mt:ArchiveListHeader>
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> (<$mt:ArchiveCount$>)</a></li>
<mt:ArchiveListFooter></ul></mt:ArchiveListFooter></mt:ArchiveList>
どうでしょうか。
何卒アドバイスよろしくお願いします。
No.2ベストアンサー
- 回答日時:
MTのアーキテクチャでは、月別アーカイブでご希望の機能を実現することはできません。
ただし、新たに追加したフィールドを検索結果として利用することができるので、それで代替可能と思います。
そのテクニックは「MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現! 」に掲載されています(私はこの本の著者ではありませんし、何の利害関係もありません)。
この回答への補足
elbavomさん、アドバイスありがとうございます。
あれから、いろいろとやってみたのですが、結局現在のMTでは出来ないのだろうなぁとあきらめていました。
なるほど!検索を使うのですね。
とりあえず、教えていただいた本買ってみます!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- ライブ・コンサート・クラブ 日産スタジアムで再び大型ライブ開催!? 1 2022/06/08 18:30
- バイク免許・教習所 ゴールド免許について 1 2023/03/17 23:11
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- ライブ・コンサート・クラブ イベント出演 2 2023/06/02 13:52
- 事務・総務 2つの事務ならどちらに応募しますか? ①社団法人の事務 175000の給与、ボーナス4.5、昇給あり 4 2023/03/16 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
rename関数で名前の変更が出来...
-
iPhoneで HTMLファイルを閲覧
-
L字みたいな記号の表示
-
テーブルセル余白(例えば左側...
-
PDFファイルが破損していると表...
-
シーサーブログのヘッダー画像...
-
ピクチャーボックスの大きさに...
-
グーグルのアイコンを操作して...
-
縦ボーダーの長さ変更方法
-
HPビルダーのリンクがすべて...
-
一行は何ピクセル?
-
FTPでアップロードした画像のUR...
-
スマホ対応ウェブサイトの横幅...
-
レスポンシブWeb 右側の表示が...
-
HTMLで、ホームページが作れる...
-
画像のアップロードとはなんで...
-
Movable Type version 4のコメ...
-
430インチスクリーン表示時映像...
-
ワードプレス管理画面から、ヘ...
-
509エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneで HTMLファイルを閲覧
-
flaskのreturn render_template...
-
rename関数で名前の変更が出来...
-
/public_html が表示されていない
-
htmlのボタンでVBSのプロシージ...
-
L字みたいな記号の表示
-
テーブルセル余白(例えば左側...
-
PDFファイルが破損していると表...
-
ピクチャーボックスの大きさに...
-
HTMLで、ホームページが作れる...
-
グーグルのアイコンを操作して...
-
borderの太さを1px以下に見せ...
-
画像と画像の間のスペースはど...
-
ワードプレス管理画面から、ヘ...
-
なぜ、ホームページが削除され...
-
縦ボーダーの長さ変更方法
-
ExcelVBAで挿入画像の縦横サイ...
-
レスポンシブWeb 右側の表示が...
-
一行は何ピクセル?
-
ブログの画像を復元したい
おすすめ情報