目次
このマニュアルは、フレームを自分で作りたい・改造したい人向けの詳しい資料です。HTML・CSS・JSON が読める方を想定しています(PHPは書きません。表示はCMS本体が行います)。
※簡単な手順だけ知りたい場合は、別の入門マニュアルをご覧ください。
フレームとは
サイト全体の「枠(デザインのテンプレート)」です。フレームを切り替えても、ページの中身(パーツ)やメイン画像はそのまま引き継がれます。1つのフォルダが1つのフレームで、frames/<フレームID>/ に置きます。フォルダを置くだけで、管理画面の「デザイン(枠・色)」に選択肢として出ます。
ファイル構成
frames/<フレームID>/
frame.json … フレームの定義(必須)
layout.html … サイト全体の骨組み(必須)
mainimg.html … トップのメインビジュアル(必須)
css/style.css … レイアウト・装飾
css/theme.css … テーマカラー(色の変数)
js/main.js … フレーム固有のスクリプト(任意)
images/ … 同梱画像(メイン画像の初期素材など)
thumb.jpg … デザイン選択画面のサムネ(任意)
frame.json
{
"name": "フレーム名(管理画面に出る)",
"description": "説明文",
"mainvisual_type": "static"
}
mainvisual_typeは"static"(静止画1枚)/"slideshow"(複数枚スライド)/"video"(動画)のいずれか。- 任意で次も指定できます(例)。
{
"mainvisual_type": "static",
"menu_breakpoint": 1000,
"menu_hide_when_hidden": true,
"menu_dropdowns": ["header nav"]
}
差し込み口(プレースホルダ)のルール
CMSが値を入れる場所を {{ }} で書きます。
{{key}}… 値を入れる(記号は自動でエスケープ){{{key}}}… HTMLをそのまま入れる(メニューや本文など、HTMLが入る場所){{#key}}…{{/key}}… 値があるときだけ表示(配列なら繰り返し){{^key}}…{{/key}}… 値がないときだけ表示
⚠️ この差し込み口を消したり名前を変えたりすると、ロゴ・メニュー・本文などが出なくなります。
layout.html(サイトの骨組み)
最低限、次の差し込み口を含めます(既存フレームをコピーして直すのが安全です)。
{{META_TITLE}}/{{META_DESCRIPTION}}… タイトル・説明{{BASE}}/{{FRAME}}… CSS・JSの読み込みパスに使う{{{HEAD_CSS}}}… CMSが足す<head>内CSS{{#IS_HOME}}…{{/IS_HOME}}… トップだけ(メインビジュアルの出し分けなど){{HOME_URL}}… トップへのリンク- ロゴ …
{{#HAS_LOGO}}<img src="{{LOGO_URL}}" alt="{{SITE_NAME}}">{{/HAS_LOGO}}{{^HAS_LOGO}}{{SITE_NAME}}{{/HAS_LOGO}} {{{NAV}}}… メニュー{{{MAINVISUAL}}}… メインビジュアル(トップのみ){{{CONTENT}}}… 各ページのパーツ{{{FOOTER}}}… フッター{{{SCRIPTS}}}… 共通スクリプト
このほか、開閉ボタン(ハンバーガー #menubar_hdr)、メニューオーバーレイ #menubar-overlay、ページ上部へ戻る .pagetop を規約どおり置きます。
mainimg.html(メインビジュアル)— 3タイプ
テキスト・ボタンの差し込み口は3タイプ共通です。
{{#HAS_TEXT}}
<div class="text {{MV_TEXT_CLASS}}">
{{#HAS_CATCH}}<h2>{{{MV_CATCH}}}</h2>{{/HAS_CATCH}}
{{#HAS_SUB}}<p>{{{MV_SUB}}}</p>{{/HAS_SUB}}
{{#HAS_BTN1}}
<div class="btn-container">
<div class="{{MV_BTN1_CLASS}}"><a href="{{MV_BTN1_URL}}">{{MV_BTN1_TEXT}}</a></div>
{{#HAS_BTN2}}<div class="{{MV_BTN2_CLASS}}"><a href="{{MV_BTN2_URL}}">{{MV_BTN2_TEXT}}</a></div>{{/HAS_BTN2}}
</div>
{{/HAS_BTN1}}
</div>
{{/HAS_TEXT}}
静止画(static)・スライド(slideshow)
画像を {{#MV_IMAGES}}…{{/MV_IMAGES}} で繰り返します(静止画は1枚、スライドは複数枚で、同じ仕組み)。
<div class="mainimg">
{{#MV_IMAGES}}
<div class="slide img{{n}}">
(ここに上のテキスト・ボタンブロック)
<picture>{{#HAS_SP}}<source media="(max-width:900px)" srcset="{{MV_SP}}">{{/HAS_SP}}<img src="{{url}}" alt=""></picture>
</div>
{{/MV_IMAGES}}
</div>
スライドにするときは、<div class="slide-indicators"></div> を足し、CSS・JSでスライド動作を付けます。HTMLの骨格は静止画とほぼ同じです。
動画(video)
<div class="mainimg video-zone">
{{#HAS_VIDEO}}
<div class="slide img1">
(ここに上のテキスト・ボタンブロック)
<video class="bgVideo" autoplay muted loop playsinline preload="metadata">
{{#HAS_VIDEO_SP}}<source src="{{MV_VIDEO_SP}}" media="(max-width:800px)" type="video/mp4">{{/HAS_VIDEO_SP}}
<source src="{{MV_VIDEO}}" type="video/mp4">
</video>
</div>
{{/HAS_VIDEO}}
</div>
新しいフレームを作る手順
frames/<新ID>/フォルダを作る。- frame.json を置く(name・description・mainvisual_type)。
- 既存フレームの layout.html・mainimg.html をコピーして直す(差し込み口は残す)。
- css/style.css・css/theme.css を整える。
- 管理画面「デザイン(枠・色)」で選んで適用する。
既存フレームを変えたいとき
- 色だけなら、管理画面「デザイン」のテーマカラーで足りることが多い(コード変更不要)。
- レイアウトを変えるときは style.css や layout.html を直接編集。差し込み口(
{{…}})は消さない。
困ったとき
- ロゴやメニューが出ない → 差し込み口を消していないか確認。
- メインビジュアルが出ない/崩れる → frame.json の
mainvisual_typeと mainimg.html の型が合っているか確認。
