pugでは、テンプレート内で変数を指定できます。
ページ毎に変わる要素(title,keyword等)を作る時は、変数に変わる要素を入れて切り替えると言う事をすると思います。
その際、php
をはじめとしたサーバーサイドの値も反映できるようにしたい時があります。
今回は、そんな場合の対処方法を記載します。
要件
bodyタグに状態を示すクラスを追加します。
今回は、サーバサイドの状態に合わせて「is_active」というクラス名を指定するとします。
指定側
あらかじめ、php側で$isActive
に「true」を指定しています。
ダブルコーテーションでタグ毎ラップします。
block vars -var class_name = "<?php if($isActive)?>is_active<?php endif ?>"
出力側
出力次は=(イコール)
の前に!(エクスクラメーションポイント)
を入れて、且つ、=
の後に半角スペースを入れます。
body(class!= class_name)
結果
これで、$isActive
が「true」であれば、次のように表示されます。
<body class="is_active">