Concrete5でATNDブロックを作成しました。designer content を使わずに、ブロックを一から自作しました。
出欠確認APIを利用しています。http://api.atnd.org/events/users/?event_id=(XXX)
にリクエストを投げます。(XXX) の部分は管理画面で入力した数字です。(XMLレスポンスについては、ATND API リファレンスをごらんください。)
XML の出力調整は、XSLT を利用しています。xsltprocessor
で処理すると、xml ファイルに xsl を適用して整形します。xsl は、管理画面から入力できるようにしています。XSL でレイアウトが自由にいじれるので携帯向け表示も可能です。
単に XML を処理するだけなら、simplexml
のほうが手軽なのですが、管理画面でレイアウトを柔軟にカスタマイズしたい場合には、xsl のほうが向いていると思います。
キャッシュ機能を利用しています。本アドオンでは下のように設定しています。ContentBlockControllerに詳細なドキュメントがあります。
protected $btCacheBlockRecord = true; protected $btCacheBlockOutput = true; protected $btCacheBlockOutputOnPost = true; protected $btCacheBlockOutputForRegisteredUsers = true; protected $btCacheBlockOutputLifetime = 3600;