a-blog cms で ATNDもジュールを作ってみる その4(モジュールID化の方法)
モジュールの管理ページが用意できたら、それをモジュールIDが利用できるようにしてみる事にします。「モジュールID化の方法」というと難しく感じるかもしれませんが、これも a-blog cms ならでは簡単に対応する事が可能です。
モジュールの管理ページが用意できたら、それをモジュールIDが利用できるようにしてみる事にします。「モジュールID化の方法」というと難しく感じるかもしれませんが、これも a-blog cms ならでは簡単に対応する事が可能です。
その1 で a-blog cms のモジュールは用意できてしまっていますが、そのモジュールの設定をブラウザ上からできるようにするというのが今回の目標となります。a-blog cms のカスタムフィールドが分かる人であれば、簡単に管理ページを新規に作成する事が可能となります。
モジュールの名前から管理ページのアドレスやファイル名は自動的に決められてくる事になります。今回のモジュール名は Api_Atnd_EventsUsers という名前になっていますので、似たモジュールでどういう感じなのかを調べてみる事にします。
サイト内検索をシステム標準のモノを使うのではなく、YahooのApiを利用して検索した結果をモジュールで表示できるようにしたものです。
モジュール名:Api_Yahoo_WebSearch
管理ページのURL:http://設置先/bid/1/admin/config_api_yahoo_web-search/
テンプレート:/themes/system/admin/config/api/yahoo/web-search.html
a-blog cms には、Ajax を利用してページを表示後に、別のコンテンツを読み込む事ができる post include という機能が標準で実装されています。これを利用すると、その1 で問題になっていたキャッシュ部分が少し改善させる事が可能になります。
では、なぜ post include 機能を利用するとキャッシュの問題を少し改善する事ができるのでしょう?
ココのサイドに参加状況をお知らせできるように ATNDの出欠確認APIを利用して a-blog cms 用のオリジナルモジュールの作り方を書いてみようと思います。以下のようなリクエストで今回の表示に必要なXML情報を取得する事が可能です。
詳しくはAPI側の説明をご覧下さい。
テンプレートファイルには、API から取得可能な情報を変数として設定し、目的の表示ができるように記述します。
<!-- BEGIN_MODULE Api_Atnd_EventsUsers -->
<div>
<h3><a href="{event_url}">{title}</a></h3>
<p>参加者:{accepted}人 / 定員:{limit}人</p>
<p><!-- BEGIN user:loop -->
<a href="{twitter_id}" target="_blank"><img src="{twitter_img}" width="30" height="30" alt="{nickname}" /></a>
<!-- END user:loop --></p>
<p><a href="{event_url}/entry/new">このイベントに参加登録する</a></p>
</div>
<!-- END_MODULE Api_Atnd_EventsUsers -->
数ヶ月前から毎月開催している a-blog cms の勉強会を開催しました。 今回はアナウンスしていた会議室が間違っていたという事でご迷惑をおかけしてしまいました。申し訳ありませんでした。毎月開催していると、参加者が減ってきてしまうかもしれないと思っていましたが、毎回新しい人も参加頂けてきているし、いい傾向ではないかと思っております。
先日の a-blog cms Power User Training Camp 2010 Spring での私の発表した内容を公開しておきます。普段は静的なサイトを動的にする方法なんて事をよく話をしていますが、その逆の方法についてです。動的サイトの一番の問題は、表示に時間がかかる事です。1つのテンプレートに貼ってあるモジュールの数が少ない場合にはあまり問題になりませんが、キャッシュが利用されない時にモジュールが多くなってくると、どうしても時間がかかる事になります。
有限会社アップルップル
山本 一道
名古屋のホームページ制作会社「有限会社アップルップル」の代表をしています。弊社で開発しているCMS「a-blog cms」や、名古屋の「WCAN」も、よろしくお願いします。