コンテンツの読み込みに時間がかかっています

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 でカスタムフィールドをグローバル変数化する方法

PhotoCollage.js を a-blog cms のブログテーマに実装してみた

エントリー新規投稿画面で次のエントリーコードっぽいものを placeholder に表示させるカスタマイズ

a-blog cms のユーザーアイコンに Gravatar を反映するカスタマイズ

できるだけ簡単に子ブログにコンフィグセットを設定する方法を考える

コンフィグセットを利用していない時にコンフィグセット管理を表示させないカスタマイズを考えてみる