テンプレートエンジン IFブロック

この記事は開発段階のものです。最終的な仕様のIFブロックのドキュメントの記事をご覧ください。

テンプレートエンジン改良

次期バージョン(執筆時1.7.0最新)でテンプレートエンジンの改良を考えています。 実はもう動いているものがあったりするのですが。 そこで今回は現在出来ているものを紹介したいと思います。

IFブロック

今回のテンプレートエンジンの改良点はIF(条件分)を使用できるようにした事です。 if文がなくても十分にサイトを作製する事は出来るのですが、どうしても細かい所で if文が必要な場合があります。そこで今回実装してみました。

記述方法

<!-- BEGIN_IF [%{PAGE}/gte/5] -->
5ページ以上です
<!-- ELSE -->
4ページ以下です。
<!-- END_IF -->

エントリー系モジュールで複数ID設定する

モジュルIDの仕様変更

ここ最近コア部分の仕様にいろいろ手をいれていっています。ということで今回はモジュールIDになります。(執筆時最新 1.7.0)

a-blog cmsには表示するパーツとしてモジュールというものがあり、モジュールIDをつけることによってモジュール毎に設定できるようになります。モジュールの設定ではこのカテゴリーを表示する。この日付の範囲で表示するなどURLコンテキストで指定できる値を設定できます。しかし基本的に設定できる値が各項目に対して一つしか設定できませんでした。

そこで、Entry_BodyとSummary系モジュールでブログID、ユーザID、カテゴリID、エントリIDの4つを複数指定できるようにしました。

指定の仕方

以下の画像のように値をカンマで区切って入力して頂ければOKです。

検索機能で使用されるフルテキスト

a-blog cmsでは、検索窓や、URLコンテキストでのkeywordを使った検索、モジュールIDの設定でも検索ワードを指定したりと、検索機能に対応しております。この時に検索対象となるテキストデータをフルテキスト(fulltext)と呼んでいます。

検索時には、フルテキストのデータを対象にしますので、もしもDBのエントリータイトルなどを直接変更しますと、エントリータイトルと、フルテキストの中のエントリータイトルが違う状態になり、検索時のヒットに影響がでますので注意が必要です。

次に、フルテキストのデータとして扱われる項目についてまとめます。

エントリーのフルテキストとして対象になるデータ

IFブロックの一部に不具合が見つかりました。【ver2.1】

現象

  • ver2.1で発生。
  • IFブロックのlte(以下)gte(以上)が正しく動いていない。

対応方法

下記の修正ファイルを適応してください。 /php/ACMS/function.php をバックアップを取った後に、上書き保存をしてください。 ver2.1.0のみの修正バッチになります。ver2.1以外ではこの問題は発現しません。


ファイルを開く

パッチファイル

この度は大変ご迷惑をお掛けしてしまい申し訳ございません。 今後ともa-blog cmsをよろしくお願い致します。