BlocksCMSはPHPのテンプレートエンジンライブラリー「Smarty」を使って動的にページを表示している。
テンプレートにSmartyのコードを記述することで任意の値を表示したり、条件判断して表示・非表示などを制御することができる。
テンプレートはSmartyでコンパイルし保存し、HTMLを出力する場合はコンパイルしたファイルを使うので高速に表示される。
変更があったテンプレートを再度コンパイルされる。変更有無の判断はテンプレートファイルのタイムスタンプで行われるので場合によってはコンパイルされない場合がある。その時はコンパイルファイルを削除することでコンパイルされる。
テンプレートの拡張子は「tpl」。
Smartyのコードはデリミタ({ })で囲まれている。
デリミタ外の内容は静的コンテンツとして表示される。
{literal} タグに囲まれたテキストは、リテラル(定数・定型)として認識される。
JavaScriptやスタイルシートを直接記述するとSmartyがコンパイル時に構文解析エラーとなるので、{literal} タグ囲むと対象から外れるて解析しない。
リニューアル等でメンテページへ転送する場合の設定
メンテナンス中はHTTPステータスコードは503を設定するようにしたほうがいい。
日付を指定の形式にフォーマットする
書式
PHPのstrftime()関数のフォーマットに基づいて整形します。
例
漢字だと文字化けする場合もある
対象の文字を数値文字参照にすると文字化けしない
年・月・日
date_format:"%Y 年 %m 月 %d 日" > 結果 2021 年 01 月 20 日
httpのアクセスをhttpsに、かつwww無しをwww有りに統一
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^sample.com
RewriteRule ^(.*)$ https://www.sample.com/$1 [R=301,L]