MT4の正しいアーカイブリンクの設定方法を教えてください。


MT(version 4.23)を使い、PCサイトとモバイルサイトを運営しています。

PC:http://www.mydomain.com/index.html
モバイル:http://www.mydomain.com/m/index.php

URLのルールは上記となり、モバイルは m/ の階層を挟み、拡張子が.phpであるところが大きな違いです。


PCのブログ記事テンプレートのアーカイブマッピングは %-c/%Y%m%d_%E.html と、日付名になるように指定。
モバイルの場合は、m/%-c/%Y%m%d_%E.php としています。
※「種類」のチェックボックスは、PC版にチェックを入れています。


モバイルサイトに表示されるブログ記事へのリンクURLが日付指定ではなく、デフォルトの post数字.php になってしまいます。
アーカイブリンクの書き方は次の方法を試しましたがうまくいきませんでした。


1.<$MTBlogURL$>m/<$MTSubCategoryPath$>/<MTEntryBasename>.php
2.<$MTCategoryArchiveLink$>


どなたか、どうか助言の程よろしくお願い申し上げます。

回答の条件
  • 1人10回まで
  • 登録:2009/09/28 10:36:31
  • 終了:2009/09/28 16:19:06

ベストアンサー

id:kaz No.3

kaz回答回数200ベストアンサー獲得回数422009/09/28 15:36:26

ポイント50pt

MT には「似たような名前で違う機能」が多いため、

質問の文章では、内容がいまひとつ正確に把握できません。

ブログ記事のアーカイブマッピングは、

最初に質問にある「(m/)%-c/%Y%m%d_%E.html」では無いのでしょうか。


「m/%-c/%F.php」で「.../post_数字.php」になるのは正常動作です。

「090821_306.php」にするのは、質問にあった「(m/)%-c/%Y%m%d_%E.html」で

良いはずですが、これは何に対して指定してあるのでしょうか。

※デフォルトであれば「アーカイブテンプレート」には

 以下の4つのアーカイブがあると思います

・ウェブページ

・カテゴリ別ブログ記事リスト

・ブログ記事

・月別ブログ記事リスト


全体像が掴めないので、基本だけを書くと、

チェックを入れたアーカイブマッピングは、

<MTCategoryArchiveLink> や <MTEntryLink> など、

「何らかのページのリンクを書き出すタグ」で基準として使用されます。


それ以外のマッピングで該当ページへのリンクを作成したい場合は、

マッピングと同じ内容を出力するタグを羅列します。

http://www.movabletype.jp/documentation/appendices/archive-file-...


※コメント欄をオープンしていただければ、

 直接の回答と思われる事以外は、そちらでやりとり可能です。

 (確か、回答は閲覧するだけでもポイントが必要だったと思うので

  問題が無ければ、コメント欄でやりとりをした方が良いかと思います)

id:flexrider

kazさん

本当にありがとうございました。私がやりたかったことが実現できました!

>「m/%-c/%F.php」で「.../post_数字.php」になるのは正常動作です。

>「090821_306.php」にするのは、質問にあった「(m/)%-c/%Y%m%d_%E.html」で

>良いはず

アドバイスの通り、上記の方法で試したところ解決できました。

正直焦っていて、冷静でなかった自分をとても恥ずかしく思います。。


また、アーカイブマッピングのチェックのご説明もありがとうございました。

MT3の「優先」に値する設定なんですね。理解できました。

このたびは本当にありがとうございました。

2009/09/28 16:18:29

その他の回答(2件)

id:kaz No.1

kaz回答回数200ベストアンサー獲得回数422009/09/28 13:00:21

ポイント50pt

回答受付中はコメントが書き込めないため、

直接の回答では無いのですが、気になったところです。


アーカイブマッピング「%E」はエントリー ID を指定するタグです。

つまり「%-c/%Y%m%d_%E.html」は

「サブカテゴリー名/090928_エントリーID.html」という指定なのですが、

出力したいファイル名はこれであっているでしょうか?

※「090928」は年月日のサンプル


「サブカテ名/年月日.html」にしたい場合は、最後の「_%E」が不要です。

id:flexrider

kazさん

意図してやっています。 すみません、本件の原因と直接関係がある可能性はありますか?

2009/09/28 13:55:36
id:kaz No.2

kaz回答回数200ベストアンサー獲得回数422009/09/28 14:32:27

ポイント50pt

質問したのは「日付名になるように指定」という記述と、

アーカイブマッピングの指定内容が違っていたためです。

※私自身がその間違をする事があり、さんざん悩んだ挙げ句

 アーカイブマッピング自体が意図と違っていた、という事があるため


アーカイブマッピングの指定に間違いが無ければ

ブログ記事そのものへのリンクは、以下で指定できると思います。

<MTBlogURL>m/<MTSubCategoryPath>/<MTEntryDate format="%y%m%d">_<MTEntryID pad="0">.php


質問にある「2.」はカテゴリーアーカイブへのリンクだと思いますが、

カテゴリーアーカイブのマッピングが「m/サブカテ名/index.html」であれば

<MTBlogURL>m/<MTSubCategoryPath>/index.html

で可能だと思います。

(1と2は別物ではなく、同じ効果を狙って2つ試したという事でしょうか?)

id:flexrider

kazさん

お返事ありがとうございます。

ブログ記事へのリンクの記述方法は、アドバイスの通り、

<MTBlogURL>m/<MTSubCategoryPath>/<MTEntryDate format="%y%m%d">_<MTEntryID pad="0">.php

にて解決することができました!

そこでもうひとつ問題点がございます。

ブログ記事のアーカイブマッピングを、m/%-c/%F.php としているのですが、再構築して書き出されるファイル名は、post_数字.php となってしまいます。これを、090821_306.php のように「日付_ID番号」にしたいです。

ちなみに、アーカイブマッピングの種類の「ブログ記事のチェックボックス」をオンにすると、正常に書き出されるのですが、そうすると、PCサイト用のチェックがオフになってしまい、PCサイト側で m/~ のファイルが書き出されるという不具合が生じます。

引き続き、どうかよろしくお願いいたします。

2009/09/28 15:06:49
id:kaz No.3

kaz回答回数200ベストアンサー獲得回数422009/09/28 15:36:26ここでベストアンサー

ポイント50pt

MT には「似たような名前で違う機能」が多いため、

質問の文章では、内容がいまひとつ正確に把握できません。

ブログ記事のアーカイブマッピングは、

最初に質問にある「(m/)%-c/%Y%m%d_%E.html」では無いのでしょうか。


「m/%-c/%F.php」で「.../post_数字.php」になるのは正常動作です。

「090821_306.php」にするのは、質問にあった「(m/)%-c/%Y%m%d_%E.html」で

良いはずですが、これは何に対して指定してあるのでしょうか。

※デフォルトであれば「アーカイブテンプレート」には

 以下の4つのアーカイブがあると思います

・ウェブページ

・カテゴリ別ブログ記事リスト

・ブログ記事

・月別ブログ記事リスト


全体像が掴めないので、基本だけを書くと、

チェックを入れたアーカイブマッピングは、

<MTCategoryArchiveLink> や <MTEntryLink> など、

「何らかのページのリンクを書き出すタグ」で基準として使用されます。


それ以外のマッピングで該当ページへのリンクを作成したい場合は、

マッピングと同じ内容を出力するタグを羅列します。

http://www.movabletype.jp/documentation/appendices/archive-file-...


※コメント欄をオープンしていただければ、

 直接の回答と思われる事以外は、そちらでやりとり可能です。

 (確か、回答は閲覧するだけでもポイントが必要だったと思うので

  問題が無ければ、コメント欄でやりとりをした方が良いかと思います)

id:flexrider

kazさん

本当にありがとうございました。私がやりたかったことが実現できました!

>「m/%-c/%F.php」で「.../post_数字.php」になるのは正常動作です。

>「090821_306.php」にするのは、質問にあった「(m/)%-c/%Y%m%d_%E.html」で

>良いはず

アドバイスの通り、上記の方法で試したところ解決できました。

正直焦っていて、冷静でなかった自分をとても恥ずかしく思います。。


また、アーカイブマッピングのチェックのご説明もありがとうございました。

MT3の「優先」に値する設定なんですね。理解できました。

このたびは本当にありがとうございました。

2009/09/28 16:18:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません