【pug】pugの変数(var)にPHPタグを使う方法

pugでは、テンプレート内で変数を指定できます。

Interpolation – 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">

©︎2017-2018 WebSandBag