[BASE]blockで作る条件分岐とか

条件分岐がないと生きていけない人たちのために。

ざっくり概要

BASEの独自タグにはif文がない。全部blockで管理されている。

「◯◯だったら表示」ということで各ページのコンテンツを表示している。

{block:***}~{/block:***}自体がifといえばそうなんだけど。

まあテンプレートで既に書かれてるわけで、もっともらしく言っただけの話。

タグ一覧

チートシートが欲しかっただけで別に普通に分かる内容ではある。

とりあえずは、blockは複数箇所に仕込んでも動作することは分かってるので、タグまみれで自滅しない用に注意。

トップページだったら

{block:IndexPage}
{/block:IndexPage}

商品詳細ページだったら

{block:ItemPage}
{/block:ItemPage}

Aboutだったら

{block:AboutPage}
{/block:AboutPage}

問い合わせページだったら

{block:ContactPage}
{/block:ContactPage}

プライバシーポリシーだったら

{block:PrivacyPage}
{/block:PrivacyPage}

特商法だったら

{block:LawPage}
{/block:LawPage}

ブログだったら(Apps)

{block:BlogPage}
{/block:BlogPage}

他にもあるけどとりあえず。

使い方例

例えば、ページ別でclassを振ったり。

<body class="{block:IndexPage} home{/block:IndexPage}{block:AboutPage} about{/block:AboutPage}{block:ContactPage} contact{/block:ContactPage}">

注意点というか厄介なのは、andとかorとかは付けられない。if単体でひたすら並べることしかできない。

除外はできる。「Not」をつけたらいい。

トップページだったら表示
{block:IndexPage}
{/block:IndexPage}

トップページじゃなかったら表示
{block:NotIndexPage}
{/block:NotIndexPage}
コンテンツ · Developers
if

コメント

タイトルとURLをコピーしました