CMSを活用して パーソナライズされた Web サイトを作る
こちらのハンズオンでは、「特定のページを見た」とか「あるページを何回以上アクセスした」という情報を Cookie に保存し、その条件によってコンテンツを切り替える事で、アクセスするユーザーによって違うコンテンツを表示できる事を体験してみます。
テーマ全体を変更したり、テーマは同じでもトップページのテンプレートファイルだけを変更したり、さらに手軽にトップページのスライダーの中身だけを変更する事も可能です。
こちらのハンズオンでは、「特定のページを見た」とか「あるページを何回以上アクセスした」という情報を Cookie に保存し、その条件によってコンテンツを切り替える事で、アクセスするユーザーによって違うコンテンツを表示できる事を体験してみます。
テーマ全体を変更したり、テーマは同じでもトップページのテンプレートファイルだけを変更したり、さらに手軽にトップページのスライダーの中身だけを変更する事も可能です。
wikipedia参照 > "nginx(発音は「Engine-X」)は、オープンソースのWebサーバであり、HTTP, SMTP, POP3, IMAPのリバースプロキシとしても機能する。高い並行性と処理性能、メモリ使用量の小ささに重点を置いて開発されている。BSD-likeライセンスでリリースされている。"
つまりApacheと同じwebサーバの事ですが、ここで重要なのはリバースプロキシとして高速に動作するという点です。
今回やってみたことは、表側にnginxをキャッシュサーバとして置き、裏側のApacheにa-blog cmsをインストールするという構成になります。(下の図参照)
a-blog cmsでは、情報の単位としてブログ、カテゴリーという呼称を使用します。また、最小単位としてエントリーがあります。
ブログは、a-blog cmsを設置した場合に最初からあるもので、固有のユーザー、モジュールを含む各種設定を持っています。
a-blog cmsを使ったサイトの運営では、最低1つあれば問題ありませんが、親子関係(上下階層)・兄弟関係(並列階層)のブログを任意で追加できます。
これらブログを複数で使用することで、ブログ(=コンテンツ)に所属するユーザー(=ブログを管理できるユーザー)を切り分けたり、同一サイト内でも別のテーマを使うなど、より詳細な運用ができます。
カテゴリーは、ブログ内でエントリーの分類として使用します。表示時のurlは 設置ディレクトリ/ブログ/カテゴリー/ の形で表され、この場合にはテーマ設定の「一覧ページ」を使って表示されます。親子関係(上下階層)・兄弟関係(並列階層)のカテゴリーも作成できます。
カテゴリーを設定することで、カテゴリーごとの表示はもちろん、カテゴリーによるモジュールIDなど表示の設定を行うといった運用ができます。
CMS を活用して多言語サイトを作る際には、いくつかの方法があります。
もっとも簡単なのはドキュメントルートにメインの言語(日本語)のサイトを用意しつつ、a-blog cms 的には子ブログ( bid:2 ) に en というブログコードを指定して、英語サイトを個別に用意する。( 例:http://www.example.com/en/ ) これを実現する方法については、子ブログの追加のみで可能になります。ここでは、もう少し高度な設定が必要な、多言語を同一コンテンツで管理する方法について紹介します。
多言語として活用する以外に、同じ情報をベースにしたPCとスマホのコンテンツを管理するサイトの構築にも役立つはずですので、ぜひチャンレンジしてみてください。
2013年7月19日(金)〜20日(土)に師崎荘にて行われましたa-blog cms の合宿で、発表しましたdatepickerのカレンダーに、スケジュールモジュールで登録した内容を反映する方法を紹介します。