非常にめんどくさいのだけど。
基本形
クリエイターモードではこんな感じでやれる。
<{if $page.type == 'top'}>
トップページ
<{else}>
トップページ以外
<{/if}>
elseifも使える。
<{if $page.type == 'top'}>
トップページ
<{elseif $page.type == 'policy'}>
プライバシーポリシー
<{else}>
それ以外
<{/if}>
ページの判別方法
じゃあ何の正否でどのページの条件が成立するのかっていう話。makeshop上にはそういうのの一覧が存在しないので自分で調べていくしかない。
$page.type | ページタイプ |
$page.id | ページID |
$category.code | カテゴリー識別コード |
$item.system_code | システム商品コード |
使うとしたらこのあたり。で、こんな感じで書いてChromeでいう検証とかソースコードを覗けば把握できる。
<div style="display:none;">
ページタイプ:<{$page.type}><br>
ページID:<{$page.id}><br>
カテゴリー識別コード:<{$category.code}><br>
システム商品コード:<{$item.system_code}>
</div>
出力された内容をif文に入れるって感じで。
注意としては、例えば$page.typeは「商品カテゴリー」とか「フリーページ」までしか分けてくれないんで、それ以上細分化したいなら$page.idを使う、みたいな感じで使い分けをしていかないといけない。
管理画面上独自デザインのページ一覧URLについてるパラメータのpage_typeとタグで出力する$page.typeは別物だからまじで面倒くさい。面倒くさいだけならいいけど入力ミスったりしたらひどいことになるので気をつけて。
活用方法
<title>が標準のままだと変な感じになってるんで調整した方がいい。
管理画面上の「ショップ作成」→「SEO管理」でそれぞれのtitleを編集できるように見えて、実はできない。デフォルトだとトップページのtitleだけが寂しすぎるとか手前に「|」があるとかで気持ち悪い、個別設定するとプライバシーポリシーとフリーページが設定できない上に、プライバシーポリシーは「プライバシーポリシー」の表記がない。条件分岐で自分で構築すれば2択からどちらかを諦めるってのを放棄できるので便利。
ページ分類メモ
調べちゃったよ・・・
ページ名 | $page.tipe | $page.id | $category.code | $item.system_code |
---|---|---|---|---|
トップページ | top | |||
商品カテゴリー | category | $category.codeと同じ | ex.ct1 | |
商品検索結果 | search | |||
商品詳細 | item | $item.system_codeと同じ | ex.000000000001 | |
商品レビュー一覧 | review-list | 商品詳細$item.system_codeと同じ | ||
商品レビュー投稿 | review-post | 商品詳細$item.system_codeと同じ | ||
買い物カゴ | cart | |||
お知らせ一覧 | news-list | |||
お知らせ詳細 | news-detail | ex.yyymmddhhiiss | ||
まとめ買い割引 | bulk | ex.1-0 | ||
利用案内 | guide | |||
会社概要 | company | |||
特定商取引法 | contract | |||
プライバシーポリシー | policy | |||
会員制/年齢確認 | top | |||
フリーページ | freepage | ※ページURL |
現状(2021/06/25)はこうなってた。
wpとかeccubeとかだと管理画面上のURLとかを見たらある程度把握できるんだけど、makeshopはそういうヒントが一切ない。つらい。
コメント