サンプルこのCMSでできること本ページにアクセスされた方は「オリジナルCMSが作れる」という情報から、それがどのようなものなのか詳しくきいてみたい、という方だと思います。このページでは本サイトで扱うCMSの仕様の中からできることに絞ってお伝えします。実際にこのCMSを作ってみるかどうかの参考にしてください。目次デザイン関係DBとの連携についてコンテンツの更新・サイトの運用についておわりにデザイン関係レスポンシブデザインこのサイトはレスポンシブデザインを採用しています。レスポンシブデザインとは今じゃすっかり当然のことになりました、パソコンにもスマートデバイスにも描画対応している画面デザインのことですね。厳密にはパソコン、スマホに限定せずあらゆる画面デザインに対応することです。スマホで開いた時にパソコン用の表示になるサイトは随分と減ってきました。パソコンでアクセスされている方は試しに画面の横幅を広げたり狭めたりしてみてください。ある狭さを超えるとサイドメニューが下部に移動します。こちらは実際に学習されるときに詳細を説明しますが、cssのフレームワーク『Bootstrap4.0』を使用しています。これを使うと簡単にできます。「プロパティ」という概念でヘッダエリアを固定するか/しないかを自由に設定することができます。あるサイトデザインパターンにヘッダに各ページへアクセスできるメニューを置いておいて、下スクロールしてもついてくる、というのがあります。それを実現する手段ですね。今はヘッダがサイトタイトルだけでスッキリしていますが、メニューを配置するとよりユーザに優しいサイトデザインにできます。ヘッダ固定の設定方法はこちらのページをご覧ください。プロパティ全般について説明しています。DBとの連携についてCMS(コンテンツマネジメントシステム)に欠かせないのがDB(データベース)との連携です。DBとの連携で行っていることを紹介します。CMSの中で『カテゴリ』は”コンテンツを束ねるジャンル”として扱っています。現状ならサイドメニューの『カテゴリ』欄に並んでいる「当CMSの仕様について」や「CMS作り方公開の背景」がこれにあたります。こちらのページから登録、更新、削除ができます。(ここは公開用サンプルのため、一部の機能は制限しています。詳細は実際に学習されるときに譲りますが、データベース上に「カテゴリテーブル」というカテゴリ情報を管理するオブジェクトを作り、この機構を実現しています。コンテンツ情報の登録・更新・削除コンテンツ情報もカテゴリ同様にDBで管理しています。本CMSではコンテンツの記事の内容(今あなたが読んでいる文字たち)はテキストファイルで保存しています。記事のテキスト以外の部分をDBで管理しています。フラグなどが管理する項目です。これらもカテゴリ同様に管理者ページから編集することができます。DBで管理することによって、新しい記事を公開したときに自動的にトップページの新着情報やサイドメニューに出すことが可能です。先ほど少し出てきましたプロパティです。「プロパティ」という言葉は人によっては聞きなれないかもしれませんが、ある対象物の状態や設定と受け取ってください。本CMS上では画面や機能の各オプション設定項目的な役割で使っています。以下のような設定ができます。・ヘッダを固定するかどうかを指定できる・新着記事に「new」を付けるのを公開から何日までにするか指定する・コメントが投稿されたとき、管理者にメールで通知するかどうか・そのメールアドレス(どこに飛ばすか)などです。この他にも設定できる項目をご用意していますし、もちろんあなたの手で追加することも可能です。これはあなたの”オリジナルCMS”になるからですね。記事に対するコメントの投稿もできます。こちらも当然DBでコメント情報を管理しているからです。このページの下部にもコメントの投稿フォームがついています。良かったら一度試しに投稿してみてください。投稿内容はあとで消すことも可能です。これを自分の力で実装できるって言うのはすごいことですね。実際に運用してみると、「この記事にはコメントを受け付けたくないな」ということもあるかもしれません。炎上しそうな内容の主張があったり、グレーな情報を扱う場合がそれです。いうときは(今はやってないけど)先ほどのコンテンツ情報に「コメント受付フラグ」を用意してこの値次第でコメント欄を表示するかどうかのロジックを書くと、記事によっては”コメントを受け付けない”が実現します。このように、自分で管理項目を用意しどのように扱うかを決め、実装すると文字通り”オリジナルCMS”として拡張していくことができます。関連記事の登録ブログの運用を始めていき、ある程度記事がたまると、「この記事を読んでもらったらあっちの記事をオススメしたいな」ということがあると思います。世の中のブログには記事の内容が終わったあたりに「関連記事」や「この記事を読んだ人はこちらも読んでいます」や「あわせて読みたい」などの文句でユーザサイトから逃さない工夫がされています。それをこのCMSでも実現します。乱暴な手法としてはなんでもいいからランダムで記事情報を並べる、という手もあるのですが、それだとなにも関係性のない記事が並んだりするので、ユーザを逃してしまうことになりますし、運用として美しくないです。関連記事テーブルでは関連元記事と関連先記事の情報を1レコードに持ちます。・・・という説明ではピンとこないかもしれませんので、詳しく知りたい方は学習に取り組んでみてください!以上の5つでCMSを回していきます!コンテンツの更新・サイトの運用についてCMSの肝、コンテンツの更新です。コンテンツの更新では、記事の内容を入力し公開する情報を作りこむことができます。巷の有名CMSであるWordPressやMovebleTypeはリッチテキストエリアを採用していますが、個人で作れるレベルのCMSではそれは難しいです・・・!(あれは高いレベルの技術が要るんです)できないことについてはこちらの記事を参照。このCMSでも最低限のことはできます。いうかやり方を工夫さえすれば文字を太くしたり色を付けたりは可能です。この↓ように画像を挿入することもできます。先ほどから出ていますが、関連記事情報の挿入も容易にできるようにしています。--ここに関連記事もいれるかあ・・もちろん、「こういう入力もしたいな」というものがあればご自身でロジックを書くと可能です。このCMSの開発が終わるころにはそこまでの学びを通して難なくできるようになっているでしょう。プレビュー表示ができる記事の編集中に実際にどのように表示されるのか、というのは必ず気になりますよね。編集画面のサイドに「プレビュー」ボタンを用意しています。これをクリックすることで、編集途中でも今の状態はユーザにどのように見えるか、を確認できます。「あの時点に戻したい!」ということがあると思います。↑このように管理しており、ファイル名の日付で前の更新時点の情報を参照することができます。「更新した分だけファイルが増え続けないか?」と思いますよね。不要ファイルを削除する機構もご用意しています☆これも詳しくは学習を始めてからご説明します。おわりに当CMSで”できること”をご紹介しました。記事中でもご案内しましたが、ここで紹介したものは『今できること』というだけで、実際に作ってみたり、運用を始めたりしてみると「こういう機能もほしい」「こういう表示がしたい」という要望が出てくると思います。それはあなたの力でできるようになります。チャレンジしてみてください。作ってみたい方はこちら←これボタンにしたいな。