別サーバのブログ記事をRSSで取得。表示する

Aサーバのページに、BサーバのMTのブログ記事をリスト表示させたいと思い、こちらのプログラムを使いました。

PHP で使える RSS パーサー

(1)  Aサーバ のRSS表示させたいページ と同階層に、上記ダウンロードしたファイルを、設定してアップロードする。
設定方法は上記ページをみてください。結構カンタンです。

(2) Aサーバ のRSS表示させたいページの、記述したい部分に下記記述を追加します。
※最初と最後の<>は2バイト文字なので、半角英数に変換して使ってください。

<?php
 require_once 'rss_fetch.inc';
 $url = 'http:// Bサーバ のブログのatom.xmlへのリンク';
 $rss = fetch_rss($url);
 $title = $rss->channel['title'];
 $title = mb_convert_encoding($title, "SJIS", "auto");
 echo "<h2>$title</h2>\n";
 echo "<ul>\n";
 foreach ($rss->items as $item ) {
 $title = $item[title];
 $title = mb_convert_encoding($title, "SJIS", "auto");
 $url   = $item[link];
 echo "<li><a href=\"$url\">$title</a></li>\n";
 }
 echo "</ul>\n";
 ?>

(3) Bサーバ のMTの管理画面「デザイン」の最新記事のフィードのatom.xmlを見てみます。
「<title><$mt:EntryTitle remove_html="1" encode_xml="1"$></title>」
という記述があります。

この<title>○×○×○</title>の中身を、(2)のphpプログラム内上から5行目
「$title = $rss->channel['title'];」で引っ張ってくる命令をだしているわけです。

ではたとえばタイトルじゃなくて、キーワードをひっぱてきてリスト表示したい場合は
 Bサーバ のブログのatom.xmlファイル内に以下の記述を入れておきます。

<Keywords><$MTEntryKeywords$></Keywords>

※最初と最後の<>は2バイト文字なので、半角英数に変換して使ってください。

次に(2)のPHP内のtitleのところを全部Keywordsに変えます。これでばっちり。

twitterとFacebookとブログの連動

今までブログ記事をtwitterに連動させ、twitterとFacebookが連動していたため、
ブログからtwitterにわたしていた35文字の文字制限のままFacebookに連動して、なんだかよく分からないトピックになってました。

詳しく見たかったら、ツイッターを確認したのち、ブログを見ろ。みたいな。
高飛車。


なので、ブログからtwitterで完結。
ブログからFacebook完結。アプリは「My Blog Posts」を利用。
twitterとFacebookの連動を切る。
という形にしてみました。

実験的投稿でした。

<(_ _)>

MultiBlog駆使!その1

今、データ集計をMTでやってます。

Aというデータの中に、複数の個別のデータが入っています。
Bというデータの中にも、複数の個別データが入っています。
Cというデータの中にも、複数の個別データが入っています。

A、B、C...Zまでの属性の一覧表示。
それぞれのデータを一番上の、システムのカスタムフィールドで分けて仲間ごとに表示。
などなど。。。

ポータルサイトの要領ですね。
kaisouimg.gif

困った点がいくつかあります。

<1>検索機能に、システムのカスタムフィールドが引っかかってくれない。
<2>ブログをカスタムフィールドでそれぞれの性格を分けて、それを集計して該当するデータの個数を表示する。ってのが出来ない。
まだまだありますが。。。順番に


<1>については、MTタグでやるには結構大変だったので、フリーの検索CGIのを設置しました。


すごく面白いから、一度使ってみてください。
MTとも相性が良いです。(*^^)v


MTはMTで構築して、別のプログラムをかませてあげるってとこが、我ながらいい考え♪

カテゴリーページでも全エントリーリストを表示する。

作成したMTのサイトを確認していて、おや?っと思った。
全ページのサイドバーに、全エントリーの新着を載せているのですが、
カテゴリーアーカイブテンプレートで生成されたページのサイドバーには、そのカテゴリの新着順しか表示されてません。

ふうん。そんな落とし穴があるんだ。と思って即検索すると、さすが藤本さん。(ああ!まるで知り合いのような表現。図々しいぞ私)こちらのページに詳しく載っていました。



<mt:BlogID setvar="blog_id">
<mt:Blogs include_blogs="$blog_id" ignore_archive_context="1">
    <mt:Entries include_blogs="$blog_id" lastn="○○">
        個々のブログ記事の情報を出力するテンプレートタグ
    </mt:Entries>
</mt:Blogs>

※最初の<は全角になっていますので、半角に直してコピーして下さいね。
※1行目のblog_idには実際のidナンバーが入ります。

ばっちり。(*^^)v

UTF8版 お薦めメールフォームCGI

知る人ぞ知るKENT-WEBさんのメールフォームCGIフリープログラムに、UTF8対応のがでました!!!

KENT-WEB
POST MAIL cgi

今までのは、MTからだと必ず文字化けしてましたが、
もう大丈夫!
しかも、シンプルで、簡単設置、美しい!!

KENTさん、いつも本当にありがとうございます。

<(_ _)>
1  2  3  4  5  6  7  8  9  10  11

▲トップへ戻る

2017年2月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

タグクラウド

My Photo