- 2008.03.12 水曜日
- PC・サーバ界隈 > サイト・サーバ関係
本日はDittoの使い方を習得していました。Dittoというのは様々な条件でMODxのドキュメントを収集し、表示するスニペットです。非常に強力なツールで、使い方によってrss作成やgooglemap作成、新着情報なども生成できます。さらにタギングが出来るのでタグクラウドも作れる……はず。
千円玉の公式サイトでは新着情報と、同人サークルリンクの自動生成、rssの作成にDittoを使っています。例によってLet's Enjoy MODxさんの説明を頼りにしました。
千円玉の公式サイトでは新着情報と、同人サークルリンクの自動生成、rssの作成にDittoを使っています。例によってLet's Enjoy MODxさんの説明を頼りにしました。
新着情報を表示するために直接テンプレートに書いているコードはこれだけ。
引数はconfigファイルとして書いています。configはこう。
表示用テンプレートとして次のようなチャンクを作っています。
千円玉のサークル紹介ドキュメントは、「タイトル」にサークル名、「長いタイトル」にサークルの読みガナを、「説明」にサークルサイトのURLを、そして「要約」にメンバーを入れていますので、これで各エントリーにサークル名でリンクされ、下にメンバー名の入った新着情報が表示されます。
各サークルのサイトへのリンクを集めたリンク集は次のように記述しています。
コンフィグファイルは次のようにしました。
まだメニューIDとドキュメントIDの区別がついてないんですよね……。いや、各ドキュメントにIDがついているのはわかっていますが、どこで見るのかわかってません。まあ0にしておけば全てのドキュメントが対象になるでしょう。
「要約」になにも記述されていないドキュメントは収集対象にならないように
を記述しています。
表示用テンプレートはこうなっています。
これで各サークルへのリンクが生成されます。読みガナを入れているのは検索しやすくするため。このリンクページはあえてページネーションしていません。タブで分けてもいません。すべてのサークルリンクを一ページにドカン!と表示しています。あとはブラウザの検索を使ってもらう方が便利だろうという考えです。
サークル名はアルファベットだったりカタカナだったりひらがなだったり漢字だったりで一定していないものですし、名称を「サークル××」とするか「××」ととるかで頭文字が変わったりしますからねー。このあたり、FirefoxやSafariならインクリメンタルサーチが使えますから、読みの一部をいれてもらえればすぐに検索してもらえます。自分で使っていてもこちらのほうが楽そうでした。
ついでに凉武装商隊の公式サイトにも新着を入れてみました。こちらはPHxファンクションを使って一定文字数で表示内容を切る、というのも試したのですが、2バイト文字だと途中で切れたときに最後が化けるんですよね。このあたり、プログラマならちょいちょいと変更して対処できそうですが、またはちさんにはよくわかりませんでした。まあいいか。
[!Ditto? &config=`recententry` !]
引数はconfigファイルとして書いています。configはこう。
<?php
$id='recententry';
$parents='0';
$depth='4';
$display='10';
$showInMenuOnly='1';
$hideFolders='1';
$sortBy='editedon';
$tpl='recententry';
?>
表示用テンプレートとして次のようなチャンクを作っています。
<div class="recententry_box">
<h4><a href="[~[+id+]~]">[+pagetitle+]</a></h4>
<p>[+introtext+]</p>
</div>
千円玉のサークル紹介ドキュメントは、「タイトル」にサークル名、「長いタイトル」にサークルの読みガナを、「説明」にサークルサイトのURLを、そして「要約」にメンバーを入れていますので、これで各エントリーにサークル名でリンクされ、下にメンバー名の入った新着情報が表示されます。
各サークルのサイトへのリンクを集めたリンク集は次のように記述しています。
[!Ditto? &config=`circlelink` !]
コンフィグファイルは次のようにしました。
<?php
$id='circlelink';
$parents='0';
$depth='4';
$display='all';
$showInMenuOnly='1';
$hideFolders='1';
$filter='description,,2';
$sortDir='ASC';
$sortBy='longtitle';
$tpl='circlelink';
?>
まだメニューIDとドキュメントIDの区別がついてないんですよね……。いや、各ドキュメントにIDがついているのはわかっていますが、どこで見るのかわかってません。まあ0にしておけば全てのドキュメントが対象になるでしょう。
「要約」になにも記述されていないドキュメントは収集対象にならないように
$filter='description,,2';
を記述しています。
表示用テンプレートはこうなっています。
<div class="circlelink_box">
<a href="[+description+]">[+pagetitle+] <span class="yomi">[+longtitle+]</span></a>
</div>
これで各サークルへのリンクが生成されます。読みガナを入れているのは検索しやすくするため。このリンクページはあえてページネーションしていません。タブで分けてもいません。すべてのサークルリンクを一ページにドカン!と表示しています。あとはブラウザの検索を使ってもらう方が便利だろうという考えです。
サークル名はアルファベットだったりカタカナだったりひらがなだったり漢字だったりで一定していないものですし、名称を「サークル××」とするか「××」ととるかで頭文字が変わったりしますからねー。このあたり、FirefoxやSafariならインクリメンタルサーチが使えますから、読みの一部をいれてもらえればすぐに検索してもらえます。自分で使っていてもこちらのほうが楽そうでした。
ついでに凉武装商隊の公式サイトにも新着を入れてみました。こちらはPHxファンクションを使って一定文字数で表示内容を切る、というのも試したのですが、2バイト文字だと途中で切れたときに最後が化けるんですよね。このあたり、プログラマならちょいちょいと変更して対処できそうですが、またはちさんにはよくわかりませんでした。まあいいか。
- Newer: 東方マンガの設定を描く日
- Older: MySQLのバックアップ
Comments:0
- コメントはありません。
Trackback:0
- TrackBack URL for this entry
- http://diary.ryanac.com/sb.cgi/346
- Listed below are links to weblogs that reference
- 今日も千円玉サイトのリニューアル準備をする from 凉武装商隊日誌
- トラックバックはありません。