100%自社デザインで作る
お手持ちのHTML・CSSをそのまま使って、Frames CMS を自社デザインのCMSにするための手順です。
※Free(無料版)でもお試し頂けます。
(関連リンク:フレームだけ自社デザイン、パーツはFrames CMS標準パーツを使う)
(関連リンク:仕様の詳細リファレンス)
基本的な使い方をお試し頂いたのち、こちらのマニュアルを読んで頂いた方が理解が早いです。
メイン画像は、「静止画」「スライドショー」「動画」をご利用頂けます。具体的なイメージは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"(静止画1枚)/"slideshow"(複数枚のスライド)/"video"(動画)。これに合わせて、管理画面の入力欄と mainimg.html で使える差し込み口が変わります。→ 下の 「スライド・動画のメイン画像を作る場合」(↓) を開いてください。 |
"menu_breakpoint" | PCとスマホでメニューを切り替える幅(px)。既定は 900。自社CSSの @media の値と合わせてください。例:"menu_breakpoint": 1000 |
"menu_js" | false にすると、メニューの開閉を自社のJSで作れます。→ メニューを自社のJSで動かす(↓) |
"mainvisual_no_image""mainvisual_text_hide" | メイン画像の入力欄を隠します。→ mainimg.html(↓) |
"menu_hide_when_hidden""menu_dropdowns" | メニューの応用設定。→ フレームの作り方(frame.json)↗ |
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の「前」に置きます。 |
{{{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"> | ページの上部へ戻るボタン。 |
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_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枚ごとに 違う文字を出す | {{#MV_IMAGES}} の繰り返しの中に置く。管理画面にもスライドごとの入力欄が出ます。 |
| 全スライドで 同じ文字を1つだけ出す | frame.json に "mainvisual_shared_text": true を足し、繰り返しの外に置く。管理画面の入力欄も1セットだけになります。 |
"mainvisual_shared_text": true を書かずに繰り返しの外へ置くと、お客様が2枚目以降に入力した文字がどこにも表示されません(入力欄はあるのに反映されない状態になります)。<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> と並べて置きます。
✅ メイン画像の入力欄を減らしたい場合
「うちのデザインではメイン画像を使わない」という場合は、frame.json に次のキーを書くと、管理画面から入力欄ごと消せます。
| キー | 効果 |
|---|---|
"mainvisual_no_image": true | 画像のアップロード欄(PC用・スマホ用)を隠します。 |
"mainvisual_text_hide": true | キャッチコピー・サブテキスト・ボタンの欄を隠します。 |
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にまとめて書いてください。 - クラス名は自由ですが、Frames CMS標準パーツと同じ名前(末尾が
-partsのもの)は避けたほうが安全です。 parts/自社パーツ名/thumb.webpを置くと、パーツ選択画面に見本画像が出ます(任意)。- フレームを複数作って切り替える(着せ替える)場合、パーツの中身(入力された文章や画像)はそのまま残りますが、見た目は自動では引き継がれません。パーツ用のCSSはフレームごとに持っているためです。着せ替える予定があるなら、着せ替え対象の各フレームに、同じパーツ用のCSSを用意してください。
5. メニューを自社のJSで動かす
CMSのメニューは、デフォルトでは共通のJavaScript(jQuery)が開閉しています。
演出を自分で作りたい場合は、frame.json に次の1行を足してください。
style="display:..." を直接書き換えて行っています。開いている状態を表すクラスは付きません(付くのは body の noscroll だけです)。そのため、CSSの transition によるスライドやフェードの演出は、デフォルトのままでは使えません。"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 は、そのまま付き続けます(メニュー項目ごとのPC/スマホ出し分けが、このクラスを使っているため)。6. フッターを自社のものにする
frames/自社フレーム名/footer.html を置いて下さい。
フッターについては、Frames CMS標準フッターのように3択にはできません。1フレーム=1フッターです。
| 差し込み口 | 役割 |
|---|---|
{{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 ← 一覧・詳細
{{{SECTION_ATTR}}} と {{{HEAD}}} に対応しています(背景色・見出し・本文が使えます)。8. 納品前のチェックリスト
- 使わないフレーム・パーツを、サーバーから削除した
- サイトを表示して、レイアウト崩れが無いか確認した(スマホ幅も)
- メニューの開閉、子メニュー、ページ上部へ戻るボタンが動く
- お問い合わせフォームから実際に送信して、メールが届く
- 管理画面「デザイン(枠・色)」で色を変えても、極端に崩れない
- パーツに背景色を設定しても、文字が読める
- お客様(クライアント)が触る管理画面に、使えない選択肢が残っていない
- CMSが出力するクラス(
.btn/.bg1-*/.cなど)に、自社CSSを当てた → CMSが自動で出力するクラス(↑)
うまくいかない場合は
Free(無料版)をご利用中のお客様はフォーラムから。
製品版を購入済みのお客様はサポート掲示板(マイページからアクセス)からお問い合わせ下さい。
尚、当ページ冒頭に記載のように、プログラム側のカスタマイズはサポート外なのでご了承ください。
