開発者向けの情報について
HOME > SOY CMS2 Developer's Blog > 開発者向けの情報について
Writer: miyazawa (SOY CMS2 dev)
SOY CMS2開発チーム 宮澤です。
先日3ヶ月も期間を開けてしまいましたがやっと2.0.6をリリースすることが出来ました。管理画面の細かい改善に加えて内部のリファクタリングが進んでいます。
2.0.6の公開に合わせていくつかの技術情報を執筆しています。プログラマーサイドからSOY CMS2を利用出来るようになることを目標としています。
SOY CMS2の拡張の考え方
一口に拡張と言っても様々なパターンが考えられます。記事とディレクトリの構造というポイントにおいて、拡張とは次の4種類に分類されます。
1.部品の拡張
テンプレート、ナビゲーション、ライブラリどこでもPHPを書くことが出来ますが、特にライブラリでPHPを書くことが出来ればちょっとした機能をWebサイトに追加することが可能です。技術情報としてライブラリ内で利用可能なPHPコードをいくつか紹介しています。
2.記事への動線の拡張
ブロックは自由にプラグインで拡張することが出来ます。標準として記事をランダムに表示するブロックプラグインを同梱しています。
ブロックは一言で説明するならば「記事へのナビゲーション」です。どの記事へのリンクをどの順番で表示すれば良いかはWebサイト毎に異なりますが、自由にカスタマイズすることが出来ます。
複雑なリンクなどを生成する場合はライブラリをナビゲーションとして使うこともあると思われます。応用すればSQLを発行して複雑なリンクを生成することも可能です。
3.記事一覧の拡張
ディレクトリを作成した際に自動的に作成されるindex.htmlではディレクトリを指定した記事を一覧で表示出来ます。次のバージョン(2.0.7)ではこの記事一覧を自由に拡張することが出来るようになります。例えばカスタムフィールドと組み合わせて、カスタムフィールドの「カテゴリ」の値が「食品」となっている記事を表示する、ということを実現出来るようにします。
4.記事の検索の拡張
標準で同梱している検索モジュールは簡単な全文検索ですが、より複雑な全文検索や商品検索のような複雑なフォームからの検索など自由に作ることが出来ます。
今後の予定
2〜4についての情報も今後随時追加して行く予定です。また、どこかのタイミングで開発者向けの勉強会などを開催したいと考えています。ご協力頂けましたら幸いです。
SOY CMS2の仕様を考える際常に現実のWebサイトを想定しています。
例えばポータルサイトを作るのであれば、トップページのナビゲーションはライブラリを組み合わせて作るでしょうし、新着情報はブロックで可能か、など色々な状況を考えます。
あるWebサイトを実現するにはどういう構造が良いかは簡単に答えの出る命題ではありませんが、直感的に作ることが出来ることを目標に今後も開発を続けます。
2011.05.20 (Friday)