2.0系のRSSモジュールで不具合が見つかりました。

2.0系の一部モジュールに不具合が見つかりました。

バージョン2.0.0、2.0.0.1, 2.0.0.2のRSSで本文が表示されない不具合が 発見されました。2.0.0.3にアップデート、または2.0.0.3の特定のファイルを差し替えて 対応をお願いいたします。

対応方法

以下のダウンロードページよりv2.0.0.3をダウンロード。

http://www.a-blogcms.jp/download/

v2.0.0.3にアップデート。または、/themes/system/rss2.xml をv2.0.0.3のものに置き換える。

この度は大変ご迷惑をお掛けしてしまい申し訳ございません。

今後ともa-blog cmsをよろしくお願い致します。

テーマの設定

a-blog cms のデータを表示するテーマファイルは、管理ページから設定します。 管理ページ > テーマ > テーマ設定 にアクセスしてください。 この画面は、siteテーマを使用しているブログのテーマ設定になります。

テーマセット機能は Ver. 3.1 から導入された機能のため、Ver. 3.0 以前のバージョンを利用の方は 管理ページ > コンフィグ > テーマ設定からテーマの変更ができます。


テーマ設定画面

テーマ設定画面


テーマディレクトリ名とテンプレート設定


テーマディレクトリ名には現在使用しているテーマ名が表示されており、a-blog cms 設置ディレクトリ/themes/ 以下にあるテーマディレクトリがプルダウンメニューで選択できます。 テーマディレクトリ内にtemplate.yaml がある場合、テンプレート設定のチェックをすることで、設定されたテンプレートを優先して読み込みます。

template.yaml ファイルは、テーマを使いまわす場合に毎回テンプレートファイルの設定をしなくて済むように、あらかじめテンプレートファイルの設定内容を記述しておくために設置します。 /themes/テーマディレクトリ/template.yaml にファイルを置くことで有効になります。


テンプレートファイル


テンプレートファイルでは以下の8種類のテンプレートを指定できます。

  • トップページ
  • 一覧ページ
  • 詳細ページ
  • エラーページ(404 Not Found)
  • 管理ページ
  • エントリー編集ページ
  • ユニット追加ページ
  • 管理ログインページ

一般的には、詳細ページとエントリー編集ページ・ユニット追加ページのテンプレートは同じに設定しておくようにした方がいいでしょう。

テンプレートファイルについてより詳しく知りたい方は以下のドキュメントをご覧ください。

テンプレートの種類

デベロッパーサイトを公開しました

Ver. 2.0 ならびにブランドサイトの公開から遅れてしまいましたが、制作者向け情報となるデベロッパーサイトを公開いたしました。


モジュールや変数など制作時に必要な情報としてのリファレンス、a-blog cms がどのような構成・仕組みで動作しているのかについてを章立てて解説したドキュメント、各バージョンのパッケージや付随するテーマ、ライセンスなどのダウンロードという大きく3つのコンテンツで構成されています。

実際にサイトをお使いになる方に対しての便利な情報はブランドサイトに、その機能がどう動いているのか、どう使ったらよいのかという情報についてはデベロッパーサイトにというように情報を切り分けることで、よりわかりやすく使いやすい情報をご提供していきたいと考えております。

本サイトは現在のところ Ver. 2.0.x に関する情報を主に掲載していますが、リファレンス、ダウンロードコンテンツでのVer. 1.x のフォロー、Ver. 1.x サイトにありましたカスタマイズ情報の最新版など、これからも定期的に情報の追加、見直しを行ってまいります。
今後ともa-blog cms デベロッパーサイトをよろしくお願いいたします。

テーマとテンプレートの構成

テーマの構成と動作の仕組み



テーマディレクトリ(themes)には、テーマ設定で指定するテーマディレクトリ以外に、system という a-blog cms のシステムで利用しているテーマが入っています。さらに system の中に admin というディレクトリがあり、ここに全ての管理ページのテンプレートファイルが格納されています。ですから a-blog cms の管理ページをカスタマイズする際には、admin の中のファイルを修正すればいい事になります。

テーマ設定で設定されているテーマ(site)と、system のテーマは継承関係にあり、テーマ設定で設定されているテーマに呼び出すファイルが存在しない時には、system のファイルをチェックし、存在していればそのファイルを表示させる事になります。例えば、login.html や 404.html は site のテーマの中には存在していませんが、表示される様になっています。

また、テーマ作成の作法として、system のファイルを直接修正するのではなく、テーマ設定で設定されているテーマにコピーして修正するようにしてください。システムのアップデートの際に system ディレクトリはアップデートされる事になり、カスタマイズ部分が消えてしまう事になります。

「テーマ設定」以外で表示テンプレートファイルを指定するには?

テーマ設定では、テンプレートファイルの項目でブログのトップページや一覧、詳細ページなどいくつかの条件で使用するテンプレートを指定できました。しかし、このままではブログごとにテーマを設定しないとコンテンツごとにデザインや表示内容が変えられません。
そこで、テーマ内のテンプレート構成をカスタマイズして、コンテンツごとに使用するテンプレートを分ける必要があります。

カテゴリーごとや、特定のエントリーに対してテンプレートを指定する

a-blog cmsでは、カテゴリー毎や特定のエントリーに対してテンプレートを設定できます。
カテゴリー毎に設定する場合は、テーマディレクトリ内にカテゴリーコードと同じ名前のフォルダと、その中に必要なテンプレートファイルを用意します。
特定のエントリーに設定する場合は、エントリーコードのファイル名を用意することで特定のエントリー専用のテンプレートが設定できます。


例:site2018テーマを使用したブログで、news カテゴリーにテンプレートファイルを指定する場合


例:Siteテーマを使用したブログで、news カテゴリーにテンプレートファイルを指定する場合


ここではsite2018テーマを元にカテゴリーごとに表示テンプレートを変える方法について説明します。


ここではSiteテーマを元にカテゴリーごとに表示テンプレートを変える方法について説明します。


/themes/ の構成

/themes/ の構成


/themes/ の構成

/themes/ の構成


news というカテゴリーには、site2018/news/index.html(一覧)site2018/news/entry.html(詳細)のテンプレートが用意されています。この場合であれば、news のカテゴリーを表示する際には、これらのテンプレートファイルが使用されます。


news というカテゴリーには、site/news/index.html(一覧)site/news/entry.html(詳細)のテンプレートが用意されています。この場合であれば、news のカテゴリーを表示する際には、これらのテンプレートファイルが使用されます。


もし、詳細ページのテンプレートを他のページと共用の設定にするのであれば、site2018/news/entry.html(詳細)のファイルを削除します。すると、テーマディレクトリの直下にあるファイルを参照するようになり site2018/entry.html(詳細)を利用するようになります。


もし、詳細ページのテンプレートを他のページと共用の設定にするのであれば、site/news/entry.html(詳細)のファイルを削除します。すると、テーマディレクトリの直下にあるファイルを参照するようになり site/entry.html(詳細)を利用するようになります。

表示テンプレートの確認


デバッグモード(config.server.php の DEBUG_MODE)が 1 の時のみ、下図のように現在表示しているテンプレートがどのファイルなのかを管理ボタン群部分に表示します。この機能で現在使用しているテンプレートファイルが確認できます。
この例では、 /themes/site2018/top.html が使われていることがわかります。


デバッグモード(config.server.php の DEBUG_MODE)が 1 の時のみ、下図のように現在表示しているテンプレートがどのファイルなのかを管理ボタン群部分に表示します。この機能で現在使用しているテンプレートファイルが確認できます。
この例では、 /themes/site/top.html が使われていることがわかります。


スクリーンショット:管理ボックス内に使用しているテンプレートが表示されている


また、デバッグモードには他にも、開発者ツールやソースコードを表示すると、より詳しいパーツごとのインクルード先がHTMLコメントにとして表示され、使用しているテンプレートがわかります。


JSONを使って専用モジュールを作ってみよう

a-blog cms ではビルドインモジュール(Entry_BodyやCategory_List...)と呼ばれる最初から入っているモジュールを使って動的にコンテンツを出力していきます。一般的なサイトを作るうえでは、ビルドインモジュールがあればそこまで困らないのですが、a-blog cmsで管理していないデータを出力したり、特殊な絞り込みをしたい場合は、PHPを書いて専用モジュールを開発する必要がありました。

そこで、Ver. 2.7.0 から導入される新しいビルドインモジュール Json_2Tpl を使う事でPHPが得意でない人もJSONさえ用意できれば、PHPを1行も書かずに思い通りのモジュールを作る事ができるようになります。

また、JSONがインターフェイスとなるので外部サービスとの連携もしやすくなります。今までPHPで諦めていた人は是非チャレンジしてみてください。

基礎編

まずは、モジュールIDの作成を行います。 管理ページ > モジュールID の モジュールID作成ボタン を押してモジュールIDを新規作成します。ここでは以下のような設定にしましょう。

  • モジュール: Json_2Tpl
  • id: sampleJson2Tpl
  • 名前: Json_2Tplの練習