さくらインターネットでの運用(19)ポータルブロックをセンターブロックに表示する
geeklogは、ブロックコンテンツを静的固定ページに
読み込んで表示することが出来るので、やってみます。
http://wiki.geeklog.jp/index.php/StaticPagesBlock14
ポータルブロックで、自サイトのRSSを読み込み、
それを静的固定ページを使ってセンターブロックに
表示してみます。これで、記事の新着情報を
フロントページのセンターブロックに表示出来ます。
まず、静的固定ページでPHPを実行出来るようにする
必要があります。
1.グループで、staticpages admin を編集
staticpages.PHP にチェックをつける
それから、ポータルブロックを作り、自サイトの
RDFを指定します。
これで、サイドブロックに自サイトの新着情報が
表示されました。
これをセンターブロックに表示します。詳細は、wikiに
ありますが、
echo DB_getItem( '**_blocks', 'content',"bid = '**'");
上記の一行を静的固定ページに書き込みます。
**_blocksは、geeklogのテーブル接頭辞です。
デフォルトならglのままだとおもいます。
bid ="**"は、ブロックID(たぶん)です。
geeklog上のどこかでわかるのかもしれませんが、
私はわからなかったので、mysqlで調べました。
---*---*---*---*---*---
ブロックIDについて:
ブロックを編集する時の、URLの最後の数字が
ブロックIDです。
(今駒さん。ありがとうございました)。
---*---*---*---*---*---
表示したいブロックIDを調べて「bid ="**"」に書きます。
・センターブロック表示 にチェックを入れ
・PHPを実行する を選びます。
保存して、おわり。
ブロックでは、title=""を使い、ツールチップで、日付を
表示するハックを教えて頂きましたが、センターブロックは、
幅に余裕があるので、日付の表示を少し変え、タイトルの
手前に表示するように変更してみました。
lib-common.php の function COM_rdfImport()
を変更します。
(変更後)
$dt = strtotime($feed->articles[$i]['date']);
$dt = date("Y.m.d", $dt);
$urls = htmlspecialchars($feed->articles[$i]['link'],ENT_QUOTES);
$content = $dt . ' <a href="' . $urls . '">'
. $feed->articles[$i]['title'] . '</a>';
