テーマ開発のベストプラクティス&バッドプラクティス

このサイトでは、concrete5 のテーマや各種テンプレートを作成する際のベストプラクティス(積極的に採用すべき手法)やバッドプラクティス(避けるべき手法)についてまとめています。

対象

本サイトが対象としている読者

  • concrete5 のテーマや各種テンプレートを作成するCMSエンジニア
  • concrete5 のテーマや各種テンプレートを作成するためのHTML/CSSコーディングを行うフロントエンドエンジニア

本サイトが対象としていない読者

  • concrete5 にプリインストールされている Elemental テーマや、マーケットプレイスから入手したテーマを利用する方
  • アドオンやその他テンプレートの作成とは関係がない機能開発を行うPHPエンジニア

なぜベストプラクティスやバッドプラクティスが存在するの?

concrete5 はカスタマイズしにくいCMSなの?

concrete5 は、デザインカスタマイズの自由度が高いCMSです。本サイトを読まなくても、基本的なカスタマイズ方法(concrete5 公式サイトや書籍で学べます)を理解していれば、concrete5 の様々なテンプレートのカスタマイズが柔軟に行えることはご理解いただけるでしょう。

一方、concrete5 は、コンテンツの編集者にも高い自由度を提供します。実際のウェブページのデザインを確認しながら、ブロックを直接クリックして編集したり、ドラッグ&ドロップで並び替えたりすることができます。そして、このような直感的な編集モードを実現するインターフェースは、ウェブページと同じ画面で同時に表示されます。つまり、テーマやテンプレートの作りが、コンテンツ編集のユーザーエクスペリエンスを損ねたり、最悪の場合、全く編集できなくしたりという影響を与える可能性がある、ということです。このような問題を起こさないために、避けるべきバッドプラクティスがあります。

編集しやすい CMS のために

「エディタの『ソース』ボタンをクリックして HTML を表示し、囲み記事にしたいところを <div class="column"></div> で囲んでください」
得てしてこのような指示が、CMS を導入した業者からコンテンツ編集者に対してなされることがあります。

HTML に精通したウェブ制作のプロなら難なくできるようなことでも、CMS を使う編集者はそうではありません。
上記のような依頼は、私たちはあり得ないことだと考えています。なぜなら、「HTML が分からなくてもコンテンツの編集ができる」ことが、concrete5 という CMS の大きなメリットだと考えているからです。

幸い、concrete5 には様々な便利な編集機能があり、デザイン上の要請と編集しやすさにうまく折り合いをつけることができるでしょう。
そのためには、concrete5 のデザイン機能でどのようなことが可能なのか、そしてそれをどう活用するかというベストプラクティスを知る必要があります。

記事一覧

本ドキュメントへのご意見・貢献

本ドキュメントは、GitHubで管理しています。ご意見は Issue にて、改善は Pull Request にてお送りください。