- ベストアンサー
Movable Type の新着情報について
現在、MTで作成しているブログが2つあります。 (アカウントは1つです。) この2つのブログでそれぞれ新しく書いた記事を、 新たに作ったMTのブログ(TOPページのみ)に 「新着情報」として表示させることは、 可能でしょうか?(同じアカウントで作成予定) 今、作りたいページは、 TOP→MTで作成 お知らせ→既に使用しているMT ブログ→既に使用しているMT プロフィール等→MTではなく、DreamWeaverで作成する予定 といった形に併用する構成にしたいのです。 詳しい方法をご存知の方、 関連書籍やWebページ、テンプレート等ありましたら、 アドバイスお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。No.1です。 とりあえず、TOPページをindex.htmlのまま動かせる(phpを使わない)方法をお教えします。 ※ 文字数が足りないので簡潔に。 ▼1:TOPページを作る 【ブログ→既に使用しているMT】の管理画面 → テンプレート → インデックスから、 『テンプレートを新規作成』で新しいテンプレートを作成します。 出力ファイル名をindex.htmlにします。 ※ 注意 【ブログ→既に使用しているMT】のサイトURLが、http://www.abc.com/であり、 出力したいTOPページがhttp://www.abc.com/index.htmlであることが前提になっています。 もし、【ブログ→既に使用しているMT】のサイトURLが、http://www.abc.com/blog/であり、 出力したいTOPページがhttp://www.abc.com/index.htmlなら、 出力ファイル名は、../index.htmlです。 テンプレートの内容は <html> <head> </head> <body> </body> </html> です。 今までのTOPページのHTMLソースに置き換えましょう。 画像のパス等気をつけてください。 ちなみにMTで出力したページなのでMTタグが使えます。 また、上記の場合XML宣言を省略していますが、お好みで追加して下さい。 あと文字コードはUTF-8です。 保存 → このテンプレートを再構築 でindex.htmlというファイルが出力できました。 (この時点で既に公開されていたindex.htmlは上書きされてしまいますのでご注意を。本公開までindex2.htmlなどで公開しておくといいかもしれません。) ▼2:【ブログ→既に使用しているMT】の新着記事 1で作ったindex.hmlの【ブログ→既に使用しているMT】の新着記事を表示したい場所に、 <MTEntries lastn="5"> <MTEntryTitle> </MTEntries> を記入します。 <MTEntries>~</MTEntries>はご自由に。 ▼3:【お知らせ→既に使用しているMT】の新着記事 MultiBlogプラグインをDLし、サーバーにアップして下さい。 参考URL [ http://light.cafe.coocan.jp/ringo/2005/000201.php ] 複数ブログを持つ場合、他のブログのコンテンツを表示することが出来るプラグインです。 アップして無事にMTにインストールされていることを確認したら、 1で作ったindex.hmlの【お知らせ→既に使用しているMT】の新着記事を表示したい場所に、 <MTMultiBlogEntries lastn="5" include_blogs="2"> <MTEntryTitle> </MTMultiBlogEntries> を記入します。 <MTMultiBlogEntries>~</MTMultiBlogEntries>の中は<MTEntries>~</MTEntries>と同様のMTタグが使えます。 include_blogs="2"は【お知らせ→既に使用しているMT】のブログIDです。 ▼4:投稿エントリーが自動的に反映されるようにする 【お知らせ→既に使用しているMT】に“新しく”エントリーが投稿されたら、 【ブログ→既に使用しているMT】から出力したTOPページにそのエントリーが反映されるようにしましょう。 【ブログ→既に使用しているMT】のMT管理画面 → 設定 → プラグイン → MTMultiBlog → 設定を表示 When・・・という設定項目があるので、 【お知らせ→既に使用しているMT】、Saves an entry、Rebuild Indexs に設定し、『Add Triger』 → 変更を保存 これでOKだと思います。 プロフィールやリンクも1と同じようにテンプレートで作れば、MTタグが使い放題(笑) 早足のアドバイスでしたが、幸運を!
その他の回答 (2)
- Muller3
- ベストアンサー率81% (800/979)
横合いから失礼かなと思いつつ、こんな方法もありますということで(^^; 私はJSON Feed+Javascriptで新着情報を読み込んでいます。普通のWebページに読み込ませることも可能ですし、もちろんMTで作ったページに読み込むこともできます。 方法は、まずJSON FeedをMTに設置します。 JSON Feed のススメ http://www.antimon2.atnifty.com/2006/12/json_feed.html これでFeedが設置できたら、 JSONフィードを使って、ブログのまとめページをつくろう http://www.sixapart.jp/typepad/inside/2006/11/010479.html の、「デフォルト・ファンクションを利用する」にあるJavascriptのソースをWebページに入れ、「TypePadJsonCallback()」を「MovableTypeJsonCallback()」に置き換えます。 このままだと2つのブログが一緒の場所に表示されますので、一番下の記述を <div id="matome" class="(左)"></div> <script type="text/javascript" src="http://(ブログ)/feed.js" ></script> <div id="matome" class="(右)"></div> <script type="text/javascript" src="http://(お知らせ)/feed.js" ></script> とすることで別々に表示されると思います。あとはclassにスタイルを与えて2行にしたり見栄え調整します。 表示件数はJSON Feedの中の<MTEntries lastn="15">の数字を適宜変えます。 あと、投稿時刻が9時間ずれるようでしたら、JSON Feedの中の <$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$> <$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$> を <$MTEntryDate format="%Y-%m-%dT%H:%M:%S"$> <$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$> にしたら日本時間に合いました。 他にもRSSフィードを読み込む方法とか、そこらへんのブログパーツ(のサービス)使う方法とか、トラックバックping使う方法とか、探すとみなさんいろいろ工夫されてるようです(^^; とりあえず参考まで…
お礼
アドバイスありがとうございました。 そういう便利な方法があるとは知らず、 自分のサイトでチャレンジしたらうまくできました。 友人のサイトの方はMTでやってみたいと思うので、 もしうまくいかなければこの方法を使いたいと思います。
- CHI-512
- ベストアンサー率69% (63/91)
こんにちは。 質問の捉え方が間違っていたらごめんなさい。 >TOP→MTで作成 新着情報を掲載するためだけにブログを一つ追加するのですか? この新しく作るブログには、エントリーを書く予定はないのですか? それなら、新しく作る必要はありませんよ。 ちなみに、プロフィール等もDreamWeaverで作らず、MTで作ったらよいのでは? もう少し詳しく教えていただけると、やり方等をお教えできます。 (1)新しく追加するブログは新着情報を表示したいだけなのか?エントリーは書かないのか? (2)phpが使えるか (3)新着情報は全ブログごちゃまぜか、各ブログに分けて表示か
補足
ご回答ありがとうございます。 友人のWebページのリニューアルをしようと思っているのですが、 今の彼女のページは、 TOP・プロフィール・リンク 等→通常のWebページ 「ブログ」「お知らせ」→MTで別々のブログ(アカウントは1本) という状態です。 今回、彼女から MTブログでそれぞれ新規投稿したものを TOPページにも、わけて自動的に表示させるようにしたいと頼まれ、 それならばTOPページもMTで作れば、 新着記事を表示させることができるのかしら? と考え、この質問をしています。 もちろん、プロフール・リンクページ等もMT化したほうが 便利なのかとも考えております。 ご質問に関しては、 (1)エントリーは書きません。新着記事のみ2列で表示したいです。 (2)phpは、詳しくありませんが、必要でしたら習得したいです。 サーバー上は問題ありません。 (3)各ブログに分けて表示です。 宜しくお願いいたします。
お礼
お礼が遅くなり申し訳ありませんでした・・・。 試行錯誤を繰り返しながらも、どうにかこうにか、 完成することができました。 というのも、私よりも、もうちょっとだけMTに詳しい友人がいたので、 CHI-512さんの回答を渡して、いっしょにトライ!! かなりの時間を要してしまいましたが、 解決です。 ありがとうございました。