ベーシック
テーマ開発のベストプラクティス&バッドプラクティス
このサイトでは、Concrete CMS のテーマや各種テンプレートを作成する際のベストプラクティス(積極的に採用すべき手法)やバッドプラクティス(避けるべき手法)についてまとめています。
対象
本サイトが対象としている読者
- Concrete CMS のテーマや各種テンプレートを作成するCMSエンジニア
- Concrete CMS のテーマや各種テンプレートを作成するためのHTML/CSSコーディングを行うフロントエンドエンジニア
本サイトが対象としていない読者
- Concrete CMS にプリインストールされている Atomik や Elemental テーマや、マーケットプレイスから入手したテーマを使用するだけの方
- アドオンやその他テンプレートの作成とは関係がない機能開発を行うPHPエンジニア
なぜベストプラクティスやバッドプラクティスが存在するの?
Concrete CMS はカスタマイズしにくいCMSなの?
Concrete CMS は、デザインカスタマイズの自由度が高いCMSです。本サイトを読まなくても、基本的なカスタマイズ方法(Concrete CMS 公式サイトや書籍で学べます)を理解していれば、Concrete CMS の様々なテンプレートのカスタマイズが柔軟に行えることはご理解いただけるでしょう。
一方、Concrete CMS は、コンテンツの編集者にも高い自由度を提供します。実際のウェブページのデザインを確認しながら、ブロックを直接クリックして編集したり、ドラッグ&ドロップで並び替えたりすることができます。そして、このような直感的な編集モードを実現するインターフェースは、ウェブページと同じ画面で同時に表示されます。つまり、テーマやテンプレートの作りが、コンテンツ編集のユーザーエクスペリエンスを損ねたり、最悪の場合、全く編集できなくしたりという影響を与える可能性がある、ということです。このような問題を起こさないために、避けるべきバッドプラクティスがあります。
編集しやすい CMS のために
「エディタの『ソース』ボタンをクリックして HTML を表示し、囲み記事にしたいところを <div class="column">
と </div>
で囲んでください。」
得てしてこのような指示が、CMS を導入した業者からコンテンツ編集者に対してなされることがあります。
HTML に精通したウェブ制作のプロなら難なくできるようなことでも、CMS を使う編集者はそうではありません。
上記のような依頼は、私たちはあり得ないことだと考えています。なぜなら、「HTML が分からなくてもコンテンツの編集ができる」ことが、Concrete CMS という CMS の大きなメリットだと考えているからです。
幸い、Concrete CMS には様々な便利な編集機能があり、デザイン上の要請と編集しやすさにうまく折り合いをつけることができるでしょう。
そのためには、Concrete CMS のデザイン機能でどのようなことが可能なのか、そしてそれをどう活用するかというベストプラクティスを知る必要があります。
記事一覧
本ドキュメントへのご意見・貢献
本ドキュメントは、GitHubで管理しています。ご意見は Issue にて、改善は Pull Request にてお送りください。