a-blog cms のテンプレートの評価順について

a-blog cms のテンプレートの評価順について書かれているトコが無かったので、まずはココに書いてみる事にします。テンプレートは右のような感じだったとし、一覧を表示する際について書いてみます。 1.5.2までと1.6.0からで違いますので、まずは古い方からです。

1.5.2 までの場合

これまでのバージョン1.5.2までは、グローバル変数>インクルード>内側のモジュールから外側のモジュールの順で動作していました。ですから、ページに貼られているモジュールは全て実行され、タッチモジュールを実行した際に非表示にされるような動きになります。

  1. index.html に書かれているグローバル変数を編集します。この際には順番というのは特に無く一緒に編集される感じです。%{BLOG_NAME}, %{CCD}, %{EID}
  2. footer.html をインクルードします。
  3. sub.html をインクルードします。
  4. header.html をインクルードする前に、グローバル変数 %{NOW_DATE} を編集します。
  5. Entry_Body を実行します。
  6. Touch_Entry を実行します。
  7. Entry_Headline を実行します。その際には {url} , {title} の順に編集します。
  8. Category_Field を実行します。
  9. Touch_Index を実行します。
  10. Blog_Field を実行します。

1.6.0 以降の場合

今回の改良で、タッチモジュールを先行評価するように改善され、上記の 5. Entry_Body の処理を実行しない事ができるようになりました。

  1. index.html に書かれているグローバル変数を編集します。この際には順番というのは特に無く一緒に編集される感じです。%{BLOG_NAME}, %{CCD}, %{EID}
  2. footer.html をインクルードします。
  3. sub.html をインクルードします。
  4. header.html をインクルードする前に、グローバル変数 %{NOW_DATE} を編集します。
  5. Touch_Entry を実行します。
  6. Touch_Index を実行します。
  7. Entry_Headline を実行します。その際には {url} , {title} の順に編集します。
  8. Category_Field を実行します。
  9. Blog_Field を実行します。  

 

こう書いてみると、この場合には Entry_Body モジュール1つ分の実行をしない分だけ高速になるって事なんだが、実際の利用では効果を発揮するハズです。


関連記事

この記事のハッシュタグ から関連する記事を表示しています。

a-blog cms でカスタムフィールドをグローバル変数化する方法

a-blog cms 2.10 エントリーのタグ入力画面を元に戻す方法

a-blog cms で A/B テストできる環境を考えてみる その1

a-blog cms の画像ユニットのスタイルとマージンの調整を可能にしてみる

site2014のテーマをマルチブログ化する際に大事なのはテーマの継承とモジュールIDのグローバル化

a-blog cms 2.xのダッシュボード内に管理者用リンク集を設置する

最新記事

カテゴリー

アーカイブ

ハッシュタグ