このブログの表紙ページのサイドバーは、人知れずPHPモジュール化してあります(PHPは中で忍者のように働くので、外からは見えぬのじゃ)。
ひとつに表示されてるページだけど、じつはいくつかの別々なファイルから出来ている。
部品を組み立てるように、それらをphpでひとつにまとめて表示している…という感じ。
いろいろ利点があるのです。
・記事の新規投稿や再構築の高速化。
・全体の構造がすっきりし、わかりやすい。
・個々の部品を修正した際、再構築しなくてもただちに反映される。
…など。PHPが使える環境なら(ロリポや、sakuraのスタンダード以上のプランでは使えます)、おすすめのモジュール化。
◆小粋空間: Movable Type の PHP モジュール化の仕組みについて(その1:概要)
で、どうせなら複数のファイルからランダムに読み込んで、ページをリロードするたび、変化するようにしてみましょう…というのが、この記事。
具体的には、一番右端のサイドバーのサーチの下の部分で、
「ジェームス・ブラウンのアルバム」
「ウェブデザイン本」
「お料理の本」
のうちどれかが、ランダムに現われるようにしてみました。
更新するたび、いずれかが表示されるようになっています(ほかに、「Cream from AZ::Blog」のとこも、同様にランダム表示)。
PHPでは、<?php readfile("ファイルのURI"); ?>というようなタグを埋め込んで、別ファイルを読み込んでいます。
これを複数のファイルから、ランダムに読み込むようにする。rand関数を使うと、ルーレットはこんな感じ。<?phpうちでは、MTでもう一個、新しいブログを作り、そこでシンプルなタグの個別エントリを生成するようにして、それらの記事を「部品」として読み込んでいます。
$buhin[0] = 'ファイル1のURI';
$buhin[1] = 'ファイル2のURI';
$buhin[2] = 'ファイル3のURI';
$buhin[3] = 'ファイル4のURI';
$buhin[4] = 'ファイル5のURI';
$bangou = rand(0,4);
readfile("$buhin[$bangou]");
?>
管理がとてもしやすくなりましたヽ(´ー`)ノ
ちなみに、エントリー・アーカイブのシンプルなタグというのは、<$MTEntryBody$>これだけ。スーパーシンプルw
それから、表紙ページでは2ヶ所で別々にランダム表示をやってるわけですが、変数(rndhtm)をちがう名前にしてやらないと、ゴチャゴチャになります(確認済み…(;・∀・)
しろうとの書いた頼りない記事ですが、ちょいと便利かなと思って。あんまり難しくないです。PHPの知識がなくても、ちゃ〜ら〜へっちゃら〜(たぶん)。
「5冊×200字」プロジェクトで書いたものなんかも、これでサイドバーに使えるかも知れませんね。また、新聞みたいに、いろんな記事がひとつの面に並ぶようなレイアウトになってると、このランダム表示は、なにか面白いことに使えるかも。
Warning: readfile(http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService&SubscriptionId=1MBCW2VKE1FWR3SPXWG2&Operation=ItemLookup&IdType=ASIN&ItemId=B00007E8G0&ResponseGroup=Large&Version=2005-10-05&AssociateTag=azblog-22&Style=http://www.overcube.com/blog/simple2.xsl) [function.readfile]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/sites/lolipop.jp/users/lolipop.jp-dp59002560/web/blog/archives/2007/01/post_106.php on line 140
by AMAZ君(改)