100%自社デザインで作る
お手持ちのHTML・CSSをそのまま使って、Frames CMS を自社デザインのCMSにするための手順です。
※Free(無料版)でもお試し頂けます。
(関連リンク:フレームだけ自社デザイン、パーツはFrames CMS標準パーツを使う)
(関連リンク:仕様の詳細リファレンス)
・
frame.json に書く設定が大きく減りました(管理画面の入力欄は、HTMLに書いた差し込み口から自動で決まります)・お客様(クライアント)に見せない入力欄・メニューを指定できるようになりました → 使わない指定
・差し込み口が増えました(ヘッダーの受付時間・ヘッダー上の一行・メニューのサブ表記・キャッチの背景・画像の明るさ・ヘッダーをメイン画像に重ねる)
それより前のCMSをお使いの場合は、旧版のマニュアルをご覧ください。
基本的な使い方をお試し頂いたのち、こちらのマニュアルを読んで頂いた方が理解が早いです。
載せやすい:ロゴ+メニューのヘッダー(スマホはハンバーガー)/写真・スライド・動画+キャッチのファーストビュー/セクションを縦に積む構成/素のHTML+CSS(Grid・Flexbox・CSS変数もOK)
そのままでは載せにくい:スクロール連動のアニメーション・パララックス/横スクロールのページ送り/ページごとに骨組みが大きく変わるデザイン
メイン画像は、「静止画」「スライドショー」「動画」をご利用頂けます。具体的なイメージはFrames CMS製品版を使ったデモ一覧ページにてご確認下さい。Freeで実際に動作確認もできます。
目次
- 作業の前に「必ず」行って下さい
- ダウンロードと設置
- フレームの作り方
- パーツの作り方
- メニューを自社のJSで動かす
- フッターを自社のものにする
- フォーム・お知らせ・一覧(プラグイン)の見た目
- お客様の管理画面をすっきりさせる(使わない指定)
- 納品前のチェックリスト
- うまくいかない場合は
1. 作業の前に「必ず」行って下さい(1分で終わります)
1. 受皿の準備
Free(無料版)をどれでもいいので先にDLしておいて下さい。
すでに製品版をご購入されている場合は、Free(無料版)をDLした上で、マイページから製品版zipをDLして上書きしておいて下さい。
2. 最上層に「demo-pack.php」があれば削除。
初回アクセス時にサンプルのページを自動で作るためのファイルなので削除しておきます。
※お問い合わせ・お知らせなどのページは、プラグインが別に自動で作ります。不要なら管理画面から削除してください。
3. 不要ファイルの削除(いずれもFrames CMS専用なので残しておくと崩れます。)
framesフォルダを丸ごと削除。(以下手順で骨格のみのフレームが入ります)
partsフォルダを丸ごと削除。(以下手順で骨格のみのパーツが入ります)
footersフォルダを丸ごと削除。(以下手順でオリジナルのfooterを準備して頂きます)
2. ダウンロードと設置
設置のしかた
- zipを解凍し、
framesフォルダとpartsフォルダを、ご利用中のCMSのルート(index.phpがある場所)に移動。 - アップロードし、管理者認証を済ませてログインします。
- サイト側を表示すると、装飾のない素のHTMLが出ます。先ほどDLした骨組みフレーム(starter-zero)です。

- 管理画面のパーツの「基本セット」に「見出しと文章(starter-text)」「画像(1枚)(starter-image)」が出ます。先ほどDLしたzipに入っていたパーツの2種類です。

3. フレームの作り方
フレームが増えれば増えるほど(フレームの着せ替えに対応させたい場合)、自由度が下がります。パーツのHTMLは全フレーム共通なので、どのフレームに入れても成立する形にしておく必要があるためです(違いを出せるのはCSSの範囲まで)。
ファイル構成
| ファイル/フォルダ | 役割 | 必須 |
|---|---|---|
layout.html | サイト全体の骨組み。 | 必須 |
mainimg.html | トップのメイン画像。 | 必須 |
frame.json | フレームの名前・説明・設定。 | 必須 |
css/theme.css | 色・余白・フォントの変数。★パスとファイル名は変えられません(CMSがこのファイルを直接読み、管理画面の色の初期値として使います)。 | 必須 |
css/style.css | デザイン本体。ファイル名も枚数も自由(layout.html の <link> を書き換えてください)。 | 任意 |
footer.html | フッター。 | 任意 |
js/main.js | このフレーム専用のJS。置くと自動で読み込まれます。 | 任意 |
images/mainimg1.jpg | メイン画像の初期値。★消さないでください(画像が1枚も無いと、メイン画像が出力されません)。mainimg1_s.jpg を置くとスマホ用になります。 | 必須 |
thumb.webp | デザイン選択画面に出る見本画像(600×400px 推奨)。 | 任意 |
frame.json
フレームの名前とメイン画像の種類を書くファイルです。同梱のものは、この3行だけです。
{
"name": "スターター:完全自社版(starter-zero)",
"description": "デザイン選択画面に出る説明文",
"mainvisual_type": "static"
}
mainvisual_type は "static"(静止画)/"slideshow"(スライド)/"video"(動画)のどれかです。メニューを常にハンバーガーにしたいときは "menu_type": "hamburger" を足します。
管理画面の入力欄は、HTMLに書いた差し込み口から自動で決まるので、ほかの設定はほとんど要りません(全キーは仕様の詳細リファレンス ↗)。
layout.html の差し込み口
自社のHTMLに、下の差し込み口を埋め込んでいきます。囲みのタグやクラス名は自由です。
必ず必要なもの
| 差し込み口 | 役割・書き方 |
|---|---|
{{META_TITLE}} | ページのタイトル。<title>{{META_TITLE}}</title> |
{{META_DESCRIPTION}} | ページの説明文。<meta name="description" content="{{META_DESCRIPTION}}"> |
{{BASE}} / {{FRAME}} | 自社のCSSや画像を読み込むためのパス。{{BASE}}/frames/{{FRAME}}/css/style.css のように使います。 |
{{{HEAD_CSS}}} | CMSが出すCSS。自社CSSの「前」に置きます。CMSのパーツ用CSSには main p などへの指定が少しあるため、自社CSSを前に置くと負けてしまいます(お客様が選んだ色はCSS変数で出るので、後ろに置いても効きます)。 |
{{{SCRIPTS}}} | CMSが出すJS。</body> の直前に必ず置きます。 |
{{{CONTENT}}} | パーツを一括出力します。<main> の直下に置いてください。間に他のタグを挟むと、パーツの背景色が正しく出ません。 |
{{{MAINVISUAL}}} | メイン画像。同じフォルダの mainimg.html の中身がここに入ります。 |
{{{NAV}}} | メニュー。CMSが <ul><li><a> を出力します。 |
{{{FOOTER}}} | フッター。 |
{{BODY_CLASS}} | <body class="{{BODY_CLASS}}"> と書きます。トップは home、下層は page-<スラッグ> が入ります。「トップだけ背景を変える」といった指定ができます。 |
{{#IS_HOME}}〜{{/IS_HOME}} | トップページのときだけ出したいものを囲みます。{{#IS_HOME}}{{{MAINVISUAL}}}{{/IS_HOME}} |
よく使うもの
| 差し込み口 | 役割・書き方 |
|---|---|
{{SITE_NAME}}{{HOME_URL}}{{HAS_LOGO}}{{LOGO_URL}} | ロゴまわり。この4つはセットで1つの動きをします(下記)。 |
{{PAGE_TITLE}} | そのページの「ページ名」。h1 に使う場合は、トップページも「ホーム」という名前になるため、下のように出し分けます。<h1>{{#IS_HOME}}{{SITE_NAME}}{{/IS_HOME}}{{^IS_HOME}}{{PAGE_TITLE}}{{/IS_HOME}}</h1> |
{{TEL}} {{ADDRESS}}{{COPYRIGHT}} {{YEAR}} | 管理画面「サイト基本設定」の値。 |
{{{NAV_PC}}}{{{NAV_MOBILE}}} | PC用とスマホ用でメニューのHTMLを分けたい場合に、{{{NAV}}} の代わりに使います。 |
ロゴの書き方
4つの差し込み口がセットで「ロゴ画像が登録されていれば画像を、無ければサイト名の文字を出す」という動きをします。下の形をまるごとコピーして使ってください。囲むタグは自由に変えられます。
<p><a href="{{HOME_URL}}">{{#HAS_LOGO}}<img src="{{LOGO_URL}}" alt="{{SITE_NAME}}">{{/HAS_LOGO}}{{^HAS_LOGO}}{{SITE_NAME}}{{/HAS_LOGO}}</a></p>
{{^HAS_LOGO}}〜{{/HAS_LOGO}} を消さないでください。差し込み口の書き方のルール
| 書き方 | 意味 |
|---|---|
{{名前}} | 文字として出す(タイトル・URLなど) |
{{{名前}}} | HTMLの塊が入る場所(中身・メニュー・フッターなど) |
{{#名前}}〜{{/名前}} | あるときだけ出す |
{{^名前}}〜{{/名前}} | ないときだけ出す |
<!-- --> の中に {{ }} を書かないでください。コメントで囲んでもCMSは解釈してしまうので、ページが真っ白になるなどの不具合が出る可能性があります。そのまま残すタグ
下の4つは、メニューの開閉やページトップへ戻る動作にCMSのJSが使っています。id とクラス名は変えないでください。置く場所と見た目は自由です。
| タグ | 役割 |
|---|---|
<div id="menubar"> | メニュー。この中に {{{NAV}}} を入れます。 |
<div id="menubar_hdr"> | ハンバーガーボタン。中の <span>×3 もそのまま必要です。 |
<div id="menubar-overlay"> | メニューを開いたときの背景。クリックで閉じます。 |
<div class="pagetop"> | ページの上部へ戻るボタン。 |
✅ 使いたいときだけ書く差し込み口(書くと管理画面に欄が出ます)
| やりたいこと | 書き方 |
|---|---|
| ヘッダーに受付時間 | layout.html に {{HEADER_HOURS}} |
| ヘッダー上の一行 | layout.html に {{HEADER_TEXT}} |
| メニューのサブ表記(英語など) | style.css に .nav-sub のCSS(標準は非表示) |
| 文字サイズ(大・中・小) | style.css に .mv-size-sm .mv-size-md .mv-size-lg のCSS |
| キャッチの背景(半透明の箱) | mainimg.html に {{MV_TEXT_BG}} |
| 画像の明るさ(暗くする) | mainimg.html に {{MV_DIM}} |
| ヘッダーをメイン画像に重ねる | style.css に .hdr-overlay のCSS |
| 静止画・スライド・動画を選ばせる | mainimg-slideshow.html などをタイプ別に置く |
書き方の例は仕様の詳細リファレンス ↗にあります。
mainimg.html(メイン画像)
layout.html の {{{MAINVISUAL}}} の場所に、このファイルの中身が入ります。<div class="mainimg"> で全体を囲んでください。管理画面の「文字色」の指定が、このクラスを目印にして効きます。中の構造は自由です。
| 差し込み口 | 役割・書き方 |
|---|---|
{{#MV_IMAGES}}〜{{/MV_IMAGES}}{{url}} | 画像の枚数ぶん繰り返されます。{{url}} が画像のURLです。 |
{{#HAS_SP}}〜{{/HAS_SP}}{{MV_SP}} | スマホ用画像が設定されたときだけ出ます。<picture>{{#HAS_SP}}<source media="(max-width:800px)" srcset="{{MV_SP}}">{{/HAS_SP}}<img src="{{url}}" alt=""></picture> |
{{#HAS_TEXT}}〜{{/HAS_TEXT}} | 管理画面で文字が入力されたときだけ出ます。この囲みは画像の繰り返しの外に置いてください。中に入れると、画像を複数枚にしたときに2枚目以降にも文字が付きます。 |
{{MV_TEXT_CLASS}} | 管理画面で選んだ「テキストの位置」と「文字サイズ」のクラスが入ります。<div class="text {{MV_TEXT_CLASS}}">位置は left-parts / center-parts / right-parts、文字サイズは mv-size-lg / md / sm。この6つのCSSは自社で用意してください。 |
{{{MV_CATCH}}}{{{MV_SUB}}} | キャッチコピーとサブテキスト。改行を活かすため3重カッコで書きます。それぞれ {{#HAS_CATCH}} {{#HAS_SUB}} で囲みます。 |
{{MV_BTN1_CLASS}}{{MV_BTN1_URL}}{{MV_BTN1_TEXT}} | メイン画像上のボタン。{{#HAS_BTN1}} で囲みます。2つ目は BTN2 で同じ形です。クラスは btn / btn inverse が入るので、直書きせず {{MV_BTN1_CLASS}} を使ってください。 |
使わない差し込み口は、書かなければ管理画面の入力欄も出ません(画像そのものを使わないときだけ、frame.json に "mainvisual_no_image": true)。
✅ スライド・動画のメイン画像を作る場合
frame.json の mainvisual_type を変えると、管理画面の入力欄と、ここで使える差し込み口が変わります。上の表は "static"(静止画)のものです。
スライド("slideshow")
書き方は静止画と同じで、{{#MV_IMAGES}} が登録枚数ぶん繰り返されます。1枚ずつを class="slide" で囲むと、CMSの共通JSがフェードで順番に切り替えます。{{n}} には 1、2、3… の連番が入るので、枚数ごとに違う指定をしたいときに使えます。
<div class="mainimg">
{{#MV_IMAGES}}
<div class="slide img{{n}}">
<picture>{{#HAS_SP}}<source media="(max-width:800px)" srcset="{{MV_SP}}">{{/HAS_SP}}<img src="{{url}}" alt=""></picture>
</div>
{{/MV_IMAGES}}
<div class="slide-indicators"></div>
</div>
切り替えのCSSは自社で用意してください。共通JSが行うのは「表示中のスライドに .active を付け、opacity を操作する」ことだけです。最低限、次のような指定が要ります。
.mainimg {position: relative;}
.mainimg .slide {position: absolute; inset: 0; opacity: 0; transition: opacity 1s;}
.mainimg .slide.active {opacity: 1;}
.mainimg .slide:first-child {position: relative;} /*高さを確保するため*/
キャッチやボタンを囲む {{#HAS_TEXT}}〜{{/HAS_TEXT}} を繰り返しの中に置くとスライドごと、外に置くと全スライド共通の1つになります(管理画面の入力欄も自動で合わせます)。
<div class="slide-indicators"></div>を置くと、現在位置を示すボタンが自動で作られます(任意。見た目のCSSは自社で書きます)。- 管理画面で「スライドの動き」に拡大・縮小を選んだときは、共通CSSが
.slide imgを拡大します。倍率は.mainimg { --mv-zoom-scale: 1.2; }で変えられます。
動画("video")
| 差し込み口 | 役割 |
|---|---|
{{#HAS_VIDEO}}〜{{/HAS_VIDEO}} | 動画が登録されているときだけ出します。 |
{{MV_VIDEO}} | 動画ファイルのURL。 |
{{#HAS_VIDEO_SP}}〜{{/HAS_VIDEO_SP}}{{MV_VIDEO_SP}} | スマホ用の動画が登録されているときだけ出します。 |
<div class="mainimg">
{{#HAS_VIDEO}}
<div class="slide">
<video 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>
muted と playsinline は必ず付けてください。付けないと、スマホで自動再生されません(iPhoneでは全画面で開いてしまいます)。キャッチコピーやボタンを重ねる場合は、静止画と同じく {{#HAS_TEXT}}〜{{/HAS_TEXT}} のブロックを <video> と並べて置きます。
style.css に残すもの
スターターの style.css には、CMSの動作に必要な指定だけが入っています。レイアウトも装飾もリセットCSSも入れていません。ブロックごとにコメントを書いてあるので、読んでから編集してください。
| ブロック | 扱い |
|---|---|
【1】最低限の土台(img のはみ出し防止) | お使いのリセットCSSに同じ指定があれば消して構いません。 |
| 【2】メニューの開閉 | ★残す(CMSのJSと対になっています) |
【3】CMSが出すCSSの打ち消し(main p) | ★残す |
【4】無料版のクレジット表示(.pr) | ★残す(書き換え禁止) |
| 【5】ここから下 | 自社のCSSを書く場所です。 |
CMSが自動で出力するクラス
下は「管理画面のどこを操作すると、どのHTMLが出るか」の一覧です。使う予定のものだけCSSを書けば十分です。
| 管理画面のどこで選ぶか | 出力されるHTML |
|---|---|
| メイン画像 → ボタンの種類 | <a class="btn"> / <a class="btn inverse"> |
| メニュー → ボタン風に表示 | <li class="btn"><a>…</a></li> |
| 一覧プラグイン → もっと見る | <a class="btn"> |
| メイン画像 → テキストの位置 | left-parts / center-parts / right-parts が付きます |
| メイン画像 → 文字サイズ | mv-size-lg / mv-size-md / mv-size-sm(既定は mv-size-md) |
| パーツ → 背景色 | <section class="bg-parts bg1-light-parts">薄い色= bg1-light-parts/標準色=bg1-parts/メイン=bg1-primary-parts/アクセント=bg1-accent-parts |
| パーツ → 見出しの装飾テキスト | <h2><span>ABOUT US</span>会社概要</h2>装飾テキストは h2 専用の項目です。CSSは h2 > span に当ててください |
| パーツ → 見出し・本文の寄せ | 中央寄せのとき class="c" が付きます(text-align: center; を当ててください) |
例:
background: var(--primary-color); color: var(--primary-inverse-color);片方だけ指定すると、色を敷いたセクションで文字が見えなくなります。
✅ セクションの上下の余白の作り方(重要)
CMSはパーツを <section> の単位で出力します。お客様(クライアント)は管理画面から、パーツごとに背景色を後から変えられます。
そのため、セクションの上下の余白は必ず padding で作ってください。margin で作ると、背景色のあり・なしで余白が変わり、メニューの「ページ内リンク」で飛んだときの停止位置もズレます。
/*セクション(パーツ1つ分)の上下・左右の余白*/
section {
padding: var(--content-space-v, var(--content-space-l)) var(--content-space-l);
}
/*section内の最初と最後の要素のマージンはリセット*/
section > :first-child {margin-top: 0;}
section > :last-child {margin-bottom: 0;}
/*見出しの上のマージンもリセット*/
main h2 {margin-top: 0;}
- 上下のセクションが隣り合うと、間の余白は2つ分になります(
paddingは相殺されません)。--content-space-vは--content-space-lの0.8倍くらいが目安です。 padding-top: 0のように打ち消す指定を書くときは、:not(.bg-parts)を付けてください。
例:main section:first-child:not(.bg-parts) { padding-top: 0; }
付け忘れると、そのパーツに背景色を選んだとき、色のブロックの上端に見出しが張り付きます。
theme.css(色・余白・フォント)
色は「背景色 / その上に乗る文字色 / 枠線の色」の3点セットで、4つの面ぶん用意されています。ここに書いた値が、管理画面「デザイン(枠・色)」の初期値になり、お客様(クライアント)が変更するとその値で上書きされます。
4. パーツの作り方
パーツ(=管理画面で1つずつ追加する「セクション」)は、2つのファイルだけで作れます。同梱の starter-text と starter-image を見本にしてください。
parts/自社パーツ名/ ├ part.json ← パーツの名前と、管理画面に出す入力欄の定義 └ template.html ← 出力するHTML
フォルダ名がそのままパーツのキーになります(半角英数字とハイフン)。
part.json
{
"title": "見出しと文章",
"category": "基本セット",
"sort": 1,
"description": "一覧に出る説明文",
"fields": [
{ "key": "image", "type": "image", "label": "画像" },
{ "key": "alt", "type": "text", "label": "画像の説明(任意)",
"hint": "入力欄の下に出る補足文(任意)" }
]
}
✅ 入力欄で使える型(type)の一覧
| type | 入力欄 |
|---|---|
text | 1行テキスト |
textarea | 複数行。**太字** と [文字](リンク先) の簡易記法が使えます |
image | 画像アップロード(動画も可) |
link | リンク先。サイト内ページを選ぶプルダウン+自由入力 |
select | プルダウン("options": ["A","B"]) |
toggle | 2択のボタン(左寄せ/中央寄せ など) |
icon | アイコン選択 |
checklist | 1行=1項目のリスト |
このほかに、行を繰り返す入力(リピーター)も作れます。→ 行を繰り返す入力(リピーター)(↓)
key に使えません。CMSは、どのパーツにも共通の入力欄(背景色・見出し・本文など)を自動で追加します。同じ名前を fields で使うと、その共通の欄と同じ入力を指してしまいます。
| 使えない key | 共通で追加される欄 |
|---|---|
bg | 背景色 |
h_text | セクションの見出し |
h_level | 見出しタイプ(h2 / h3) |
h_align | 見出しの寄せ |
h_deco | 装飾テキスト |
lead | 本文(見出しの下) |
lead_align | 本文の寄せ |
anchor | アンカーID(ページ内リンクの飛び先) |
intro など別の名前にしてください。template.html
<section{{{SECTION_ATTR}}}>
{{{HEAD}}}
{{#image_url}}
<img src="{{image_url}}" alt="{{alt}}">
{{/image_url}}
</section>
| 差し込み口 | 役割 |
|---|---|
{{{SECTION_ATTR}}} | 背景色の指定とアンカーIDが入ります(section タグに必ず付ける) |
{{{HEAD}}} | 見出しと本文が入ります |
{{キー}} | part.json で決めた入力欄の値 |
{{キー_url}} | image 型のときの画像URL |
{{#キー}}〜{{/キー}} | 値があるときだけ出す(空欄のとき枠だけ残るのを防ぎます) |
CMSは、自社で作ったパーツにも次の入力欄を自動で追加します。
- 背景色(なし/薄い色/標準色/メインカラー/アクセント)
- セクションの見出し(h2 / h3)と、寄せ、装飾テキスト
- 本文(見出しの下)と、寄せ
{{{SECTION_ATTR}}} と {{{HEAD}}} です。書かないと「管理画面に欄はあるのに、何も起きない」状態になり、お客様(クライアント)が戸惑います。特別な理由がなければ、必ず両方を入れてください。同梱の starter-text は、この仕組みを使って入力欄の定義をゼロ("fields": [])にし、テンプレートを3行だけにした例です。
行を繰り返す入力(リピーター)
「カードを3つ並べる」「スタッフを人数分並べる」のように、同じ形を繰り返すパーツを作るときに使います。お客様(クライアント)は管理画面から、行の追加・削除・並べ替えができます。
part.json に repeater を足します(fields と並べて書きます)。
{
"title": "スタッフ紹介",
"category": "基本セット",
"fields": [],
"repeater": {
"key": "rows",
"label": "項目",
"fields": [
{ "key": "image", "type": "image", "label": "写真" },
{ "key": "name", "type": "text", "label": "名前" },
{ "key": "body", "type": "textarea", "label": "紹介文" }
]
}
}
template.html では、繰り返す部分を {{#rows}}〜{{/rows}} で囲みます。中では、行の key をそのまま書きます。
<section{{{SECTION_ATTR}}}>
{{{HEAD}}}
<div class="staff-list">
{{#rows}}
<div class="staff-item">
{{#image_url}}<figure><img src="{{image_url}}" alt=""></figure>{{/image_url}}
{{#name}}<h4>{{name}}</h4>{{/name}}
{{#body}}<p>{{{body}}}</p>{{/body}}
</div>
{{/rows}}
</div>
</section>
| 書き方 | 意味 |
|---|---|
{{#rows}}〜{{/rows}} | 行の数だけ繰り返します。rows は part.json の "key" と同じ名前にします。 |
{{キー}} | その行の値。 |
{{キー_url}} | その行の画像のURL。{{image}} ではなく {{image_url}} を使ってください(image にはファイル名だけが入ります)。 |
{{{キー}}} | textarea の値は3重カッコで書きます(改行と **太字** の記法を活かすため)。 |
行の中でも
text / textarea / image / link / select / icon などが使えます(table だけは行の中では使えません)。- 列の並べ方をお客様(クライアント)が選べるようにする(
part.jsonに"grid_cols": trueと1行)→ パーツの作り方(列の並べ方)↗ - パーツを一覧に出さない(
"status": "hidden")→ パーツの作り方(part.json)↗
パーツのCSSとサムネイル
- パーツ用のCSSは、フレームの
css/style.cssにまとめて書いてください。パーツのフォルダにCSSを置いても読み込まれません。 - バージョンアップで
partsを上書きしても、自社で追加したパーツのフォルダは消えません。 - クラス名は自由ですが、Frames CMS標準パーツと同じ名前(末尾が
-partsのもの)は避けたほうが安全です。 parts/自社パーツ名/thumb.webpを置くと、パーツ選択画面に見本画像が出ます(任意)。- フレームを複数作って切り替える(着せ替える)場合、パーツの中身(入力された文章や画像)はそのまま残りますが、見た目は自動では引き継がれません。パーツ用のCSSはフレームごとに持っているためです。着せ替える予定があるなら、着せ替え対象の各フレームに、同じパーツ用のCSSを用意してください。
5. メニューを自社のJSで動かす
CMSのメニューは、共通のJS(jQuery)が style="display:..." を書き換えて開閉しています(開いた状態のクラスは付かないので、CSSの transition による演出は使えません)。
演出を自分で作りたい場合は、frame.json に次の1行を足してください。
"menu_js": false
これでCMSデフォルトの開閉JSが止まり、ハンバーガーの開閉・子メニューの開閉を、すべて自社のJSで自由に作れます。サンプルを js/menu-sample.txt に入れてあるので、ファイル名を js/main.js に変えて(コードももちろん変更して下さい)お試しください。
- ハンバーガーとドロワーの表示・非表示(これまでCMSのJSが行っていました)
.small-screen #menubar_hdr {display: block;}
.small-screen #menubar.is-open {display: block;}
※スターターのstyle.cssには、この2行が入っています。 - 子メニューの目印クラス。CMSが付けていた
.ddmenu_parent(子メニューを持つli)と.ddmenu(その親リンク)も付かなくなります。サンプルのように自社のJSで付けるか、自社のクラス名を使ってください。 - メニューがオーバーレイより上に出る指定。
.small-screen #menubarにposition: relative; z-index: 100;が必要です。
body の small-screen / large-screen は付き続けます。6. フッターを自社のものにする
frames/自社フレーム名/footer.html を置いて下さい。
フッターについては、Frames CMS標準フッターのように3択にはできません。1フレーム=1フッターです。
無料版のクレジット表示はCMSが自動で末尾に足すので、書く必要はありません。footer.html を消せば、管理画面「フッター」で選ぶデザインに戻ります。
| 差し込み口 | 役割 |
|---|---|
{{SITE_NAME}} {{HOME_URL}} | サイト名とトップページのURL |
{{#HAS_LOGO}} {{LOGO_URL}} | ロゴ(フッター用ロゴ→ヘッダーロゴの順に使われます) |
{{{ADDRESS_TEL}}} | 住所と電話(改行で連結済み)。個別は {{ADDRESS}} {{TEL}} |
{{#HAS_MENU}} {{#FOOTER_GROUPS}} | フッターメニュー。グループごとに {{heading}} と {{#links}}({{href}} {{label}}) |
{{#HAS_SNS}} {{#SNS_ITEMS}} | SNSアイコン({{url}} {{icon}} {{label}}) |
{{COPYRIGHT}} {{YEAR}} | コピーライト表記と年 |
7. フォーム・お知らせ・一覧(プラグイン)の見た目
フォーム、お知らせ、一覧・詳細はプラグインとして動いており、HTMLの構造もCSSもプラグイン側が持っています。CSSは自動で読み込まれるので、何もしなくてもそれなりに表示されます。自社デザインに合わせる場合は、次の順で進めるのがおすすめです。
- 自社CSSで上書きする。スターターは自社CSSをCMSのCSSより後ろに読ませているので、同じクラス名を書けば上書きできます。バージョンアップで消えないので、この方法が安全です。
- それでも足りなければ、プラグインのCSSを直接書き換える。ただしバージョンアップで上書きされるので、変更内容は手元に控えておいてください。
plugins/form/assets/form.css ← フォーム plugins/list-news/assets/list-news.css ← お知らせ plugins/list-pro/assets/list-pro.css ← 一覧・詳細
一覧・詳細はクラスが約100個あるので、色と余白の調整にとどめるのがおすすめです。フォームとお知らせ(各20個ほど)は、必要なら書き直せる量です。
{{{SECTION_ATTR}}} と {{{HEAD}}} に対応しています(背景色・見出し・本文が使えます)。8. お客様の管理画面をすっきりさせる(使わない指定)
1つのデザインで納品するときは、お客様(クライアント)に見せない入力欄や管理メニューを隠せます。data フォルダに hide.json を置き、名前をカンマ区切りで書きます。
{ "hide": "mv_text_color, mv_text_size, part_bg, menu_design, menu_code" }
- 隠した欄は何も選んでいない状態(フレームのCSSのまま)で表示されます。入力済みの値は消えません。
- 名前を間違えると、管理画面の上に赤い帯でお知らせします。
指定できる名前の一覧は仕様の詳細リファレンス ↗をご覧ください。
9. 納品前のチェックリスト
- 使わないフレーム・パーツを、サーバーから削除した
- サイトを表示して、レイアウト崩れが無いか確認した(スマホ幅も)
- メニューの開閉、子メニュー、ページ上部へ戻るボタンが動く
- お問い合わせフォームから実際に送信して、メールが届く
- 管理画面「デザイン(枠・色)」で色を変えても、極端に崩れない
- パーツに背景色を設定しても、文字が読める
- お客様(クライアント)が触る管理画面に、使えない選択肢が残っていない → 使わない指定(↑)
- CMSが出力するクラス(
.btn/.bg1-*/.cなど)に、自社CSSを当てた → CMSが自動で出力するクラス(↑)
うまくいかない場合は
Free(無料版)をご利用中のお客様はフォーラムから。
製品版を購入済みのお客様はサポート掲示板(マイページからアクセス)からお問い合わせ下さい。
尚、当ページ冒頭に記載のように、プログラム側のカスタマイズはサポート外なのでご了承ください。
