イントロダクション

SOY CMSを使うための考え方

SOY CMSは「汎用CMS」といわれているCMSです。そのため、使用に際してSOY CMS特有の考え方を理解していたほうが使いやすいことでしょう。

WordPressや他のCMSを使っている人は、ちょっと戸惑うかもしれません。

この記事では、SOY CMS特有の考え方と用語について概要を解説していきます。

なお、データベースはSQLite版の使用を前提にしています。

インストール

ここではSOY CMSを使うときの考え方をお伝えするので、詳しいインストールの方法については次回以降で説明します。

SOY CMSは、Apacheのドキュメントルート以下の任意の場所に設置することができます。

SOY CMSをダウンロードして解凍すると、「admin」、「app」、「common」、「license」、「soycms」という5つのフォルダが現れます。

それらをアップロードしてインストールします。アップロード先は、以下の場所にファイルを設置します。

https://◯◯◯/XXXX/SOY CMSの5つのフォルダ(「admin」、「app」、「common」、「license」、「soycms」)

◯◯◯・・・サーバーのドメイン(もしくは独自ドメイン)
XXXX・・・・・自分で決めたディレクトリ名(階層はいくつでもOK)

この状態から以下にアクセスすると、管理者設定画面になります。

https://◯◯◯/XXXX/admin/

例:ドメインがexample.comで、ディレクトリをdirectoryとした場合

https://example.com/directory/admin/

でアクセスすると上記管理画面になります。

ディレクトリ名について

XXXXディレクトリはSOY CMS本体が格納されている場所になります。
システムの根幹になる場所ですので、セキュリティ上わかりにくい名前にしたほうがいいでしょう。

サイト

SOY CMSでは、インストールが完了しログインした後にまず「サイト」を作成します。

この「サイト」というものは、Webベージやコンテンツを入れておく入れ物のようなもので、複数作成することが出来ます。
SOY CMSがマルチサイトと言われている所以です。

1つの「サイト」の中には、複数のブログやコーポレートサイトやショップサイトなどを作ることが可能です。

そのサイトの、サーバー内の構成は以下のようになっています。

例:SOY CMS本体が格納されているディレクトリを「earth」とし、作成したサイトに各国の名前をつけています。
サイトの例

これを管理画面で見るとこうなります。
管理画面のサイト一覧

ちなみに「サイト」を作らずにhttps://◯◯◯/XXXX/ や https://◯◯◯/ にアクセスしてもサーバーのエラー画面が表示されるだけです。

この「サイト」の作成には、1サイトあたり1つのデータベースを使用します。
上記のような各国のサイトを作成した場合、これだけでデータベースを6つ使用します。

MySQL版では使用できるデータベースの数に注意してください。SQLite版では特に注意しなくてもいいでしょう。

サイトのURL

SOY CMSでは、サイトを作るたびにドキュメントルート直下にディレクトリを作成します。

例えば、japanというIDでサイトを作成します。

SOY CMSをインストールした時は、

https://◯◯◯/XXXX/SOY CMSの本体

という構成になっていますが、サイトを作成すると、

https://◯◯◯/japan/動作ファイル

となります。

americaやcanadaといったIDでサイトを作成しても、

https://◯◯◯/america/動作ファイル
https://◯◯◯/canada/動作ファイル

というような構成になります。

ですので、japanのサイトにアクセスするには、

https://◯◯◯/japan/

とすれば、japanサイト内に作られたブログなりホームページなりが表示されます。

このように作成したサイトのうち、1つだけは「サイト一覧」から「ルートサイト設定」をすることで、

https://◯◯◯/

でアクセスすることが出来ます。

例えば、japanサイトをルートサイトに設定すれば、

https://japan

でアクセスすることができます。

ページ

SOY CMSでは、「ページ」と「エントリー(記事)」という2つの単位で情報を管理します。

「ページ」とは、文字通りサイト内の各ページをあらわすもので、コーポレートサイトやブログなどを指します。
「エントリー(記事)」は、ページの中で表示されるコンテンツを指します。

ここでは「ページ」の解説をしていきます。


普段それほど意識されていないと思いますが、あるサイトにアクセスすると、そこに置いてあるHTMLファイルやPHPファイルが表示されます。それがサイトを閲覧しているということになります。

ここでの「ページ」は、そのサイトを閲覧するためのHTMLを設定するものです。

そんなページですが、SOY CMSには3つのページの種類があります。

  • コーポレートサイトなどで使われるような「標準ページ」
  • ブログとしての機能を持ち合わせた「ブログページ」
  • ネットショップの運営や、お問い合わせフォームを作成できる「SOYApp」ページ

ここでは、よく使われる「標準ページ」「ブログページ」について解説します。

ページの種類について

一度作成したページの種類は後から変更することはできません。
よく考えてからページの種類を選択してください。

標準ページ

「標準ページ」は、ひとつのURLに対してどのようなHTMLが表示されるかを設定するものです。

例えば、サイトに表示させるHTMLファイルが準備できているとします。このHTMLファイルをサーバーにアップロードすると、そのHTMLファイルが画面に表示されます。

これを、SOY CMSで「標準ページ」を作り、同じURLを設定し、「テンプレート」にそのHTMLをコピペしてページを表示させると全く同じ画面が表示されることになります。

では両者の違いは何かというと、SOY CMSでは「エントリー(記事)」をページの好きなところに自由に表示させたり、ページの公開期限を決めて表示させたりといった様々なことが出来るようになるのです。

標準ページでを使う主な場面としては、コーポレートサイトのトップページや会社概要のページだったり、期間限定のキャンペーンページだったり、ブログでもプロフィールページなどで使われます。

いわゆる、頻繁に更新しないページは、この「標準ページ」を使うことで作成できます。

WordPressでいう「固定ページ」みたいなものですね。

ブログページ

「ブログページ」は、その名前の通りブログをイメージしてもらうのが分りやすいと思います。

このページは、エントリー(記事)が投稿されたり削除されたりするのに合わせて、URLとHTMLのページも自動的に増減します。

ブログの場合、記事が投稿されるとトップページやカテゴリーのページが更新されて記事ごとのページが生成されると思いますが、それと同じです。

WordPressでいう「投稿」みたいなものですね。

この「ブログページ」は、ブログだけではなく、ブログの他にも同じようにコンテンツに合わせて自動的に増減するページに使用することができます。

例としては、ネットショップなどで使うカタログの商品ページなどがあります。

この「ブログページ」では、

  • トップページ
  • アーカイブページ(カテゴリー別、月別)
  • エントリーページ

の3種類のテンプレートを設定します。

テンプレート

「テンプレート」は、SOY CMSが表示するページのベースとなるHTMLのことです。

簡単に言うと、サイトにアクセスすると画面に表示される外観のことです。

WordPressでいうとテーマのようなものですね。

「テンプレート」は、標準ページとブログページでは構成が違います。

標準ベージのテンプレート

「標準ページ」では、1ページ分のテンプレートを設定すれば、同じ外観でページを量産することができます。

また、それぞれ1ページずつHTMLを設定することで、各ページ違った外観にすることも可能です。

標準ベージのテンプレートは以下のテンプレートエディタで編集します。

ブログページのテンプレート

「ブログページ」では、

  • トップページ
  • アーカイブページ(カテゴリー別、月別)
  • エントリーページ

の3種類のテンプレートを設定します。

ヘッダーやフッター、サイドバーなどを共通にする、いわゆる普通のブログのテンプレートも可能ですし、3種類のテンプレートそれぞれの外観を変えることも可能です。

WordPressなどにあるテーマと同じようなものは、このブログベージのテンプレートで作っていきます。

この3種類のテンプレートは、以下のそれぞれのテンプレートエディタで編集します。

トップページ
ブログトップページ編集画面

アーカイブページ(カテゴリー別、月別)

エントリーページ(記事毎)


エントリー

「エントリー(記事)」とは、SOY CMSで扱う情報の単位で、記事のタイトル、本文、追記、作成日の4つを1セットにしたものです。
これは、「エントリー(記事)」の概念図です。
エントリー(記事)の概念図

「エントリー(記事)」というと難しく聞こえるかもしれませんが、「エントリー」と「記事」は同じ様な意味だと思っていただいてもいいと思います。
実際、SOY CMSでは、エントリーと言ったり、記事と言ったりします。

この「エントリー(記事)」は、SOY CMSにおいて非常に特徴的なものとなっています。

なぜなら、この「エントリー(記事)」は「ページ」からは完全に独立した「生のコンテンツ」であるからです。

後から説明する「ブロック」をページに設定することで、サイト内の全てのどのページのどの部分でも、好きなところに自由に「エントリー(記事)」を表示させることが出来るのです。
エントリー(記事)概要

例として、

  • 企業サイトなどの一般的なサイトにおける、新着情報などの更新頻度の高いコンテンツ
  • ブログや情報サイトなどの蓄積されていくコンテンツ
  • ヘッダーやフッターなど複数のページで同じ内容が表示されるコンテンツ

などがあります。

これらをそれぞれのページごとに管理していたらとても面倒なことになります。

こういったコンテンツを「エントリー(記事)」として抽出し設定することで、サイトの管理が楽になります。

例えば、新着情報のエントリー(記事)などは、その情報の詳細が書かれたエントリー(記事)を作成すれば、自動的にサイトのトップページの新着情報欄を更新しつつ、同時にリンクも生成するといった運用ができます。

また、ページのヘッダーやフッターといったサイト全体(もしくは一部)で使う共通のエリアも、エントリー(記事)として部品化しておくと運用が楽になります。
仮にヘッダーやフッターを修正したいと思ったりデザインを入れ替えたいと思った場合、そのヘッダーのエントリーなり、フッターのエントリーなりを編集するだけで、サイト全体の修正やデザインの入れ替えが完了します。


このように便利な「エントリー(記事)」ですが、様々な使い方ができる分たくさんの「エントリー(記事)」が混ざってしまうと管理が大変になってきます。そこでその管理を楽にするのが、「ラベル」です。

ラベル

「ラベル」は「エントリー(記事)」を整理するために使います。

ラベル管理画面


上の例にあった、新着情報のエントリー(記事)に使いたいといった場合、そのエントリー(記事)に「新着情報ラベル」をつけることで、そのエントリー(記事)は新着情報だと区別することができます。

ラベルはいくつでも自由に作ることができ、また、ひとつのエントリー(記事)にラベルはいくつでも貼ることが出来ます。

例えば、そのエントリーが新着情報かつ商品の情報である場合、「新着情報」「商品情報」といった両方のラベルを貼ることで管理することができます。

この「ラベル」もSOY CMSにおいて非常に特徴的な考え方のものとなっています。

一つ前の章で、「エントリー(記事)」は「ページ」からは完全に独立した「生のコンテンツ」 と説明しました。
ここでは、「生のコンテンツ」をブログの記事とします。
SOY CMSでは、1つのシステムで複数のブログを作成することが出来ます。
サイトのURLのところでも説明しましたが、ブログA、ブログB、ブログCを作成して運営したとします。
この状態でブログ記事を作成した場合、どのブログに記事を表示すればいいのかSOY CMSは判断が出来ないのです。
こちらが記事を表示するブログを選択して、はじめてそのブログに記事が表示されます。この選択するブログをラベルで管理するのです。


また、このラベルはブログなどではカテゴリとして使うことが出来ます。これはブログを運営したことがある方ならわかりやすいと思います。
しかし、SOY CMSではカテゴリは1階層のみとなっており階層化できませんので、実質的にはタグのようなものと考えてもいいのかもしれません。
ただ、最近は検索エンジンの関係もあって1記事1カテゴリーがスタンダードになってきているようなので、ブログ記事で表示するときのカテゴリーについては複数表示しないよう注意しないといけませんね。

カテゴリの例

ブロック

「ブロック」とは、「ページ」のテンプレートのHTMLのなかで、どの部分をエントリー(記事)として表示するために書き換えるのか決めるものです。

例えば、全てのページのヘッダーにブロックを設定すれば、今後はヘッダーのエントリー(記事)のみ修正するだけで、すべてのページのヘッダーの修正が出来ます。

例として企業サイトの場合、ヘッダーとフッター、サイドバー等は内容が固定されていることが多いと思います。こういったところにブロックを設定すれば、メインのテンプレートはその企業のコンテンツのHTMLのみになります。こうすることで、今後のコンテンツの増加や記事の修正などの管理が容易になります。


ブロックには、どのページでも使用することが可能なブロックと、ブログページのみで使用可能なブログブロックというのがあります。
そのうち、どのページでも使用することが可能なブロックは、どちらかというと標準ページで使用されることが多いように思います。
ブログページでは、ブログページ専用のブログブロックを使うことが多いからです。

ここでは、どのページでも使用することが可能なブロックの種類について解説していきます。

ブロックには、5つの種類があります。

  • 記事表示用ブロック
  • ラベルブロック
  • 他サイトラベルブロック
  • ブログリンクブロック
  • プラグインブロック

記事表示用ブロック

「記事表示用ブロック」は、例えばヘッダーやフッターを記事として用意し、「記事表示用ブロック」を使って表示させます。

もちろん、記事本体を表示させるためのブロックとしてもいいでしょう。

ラベルブロック

「ラベルブロック」は、指定された一つのラベルのついた記事を複数個表示します。主にトップページの新着情報などに使われたりします。

例えば、ブログなどで新しく記事を書いた場合に、新着情報としてトップページに表示されます。

他サイトラベルブロック

「他サイトラベルブロック」は、同じSOY CMS内にある他のサイトで作成した記事を別のサイトでも表示することができます。

例えば、サイトAとサイトBを同じSOY CMS内で運営していたとします。

サイトAで書いた記事の内容をサイトBでも紹介したいといったときに、サイトBで同じ内容の記事を書かなくても、サイトAからその記事を引っ張ってきて表示させることが出来ます。

ブログリンクブロック

「ブログリンクブロック」は、指定されたラベルのついた記事を表示するのですが、ラベルを複数指定することができ、ラベルごとにリンクを張るブログを指定できます。

例えば、東京、名古屋、大阪の営業所ごとにサイトを作成したとします。その営業所の従業員にそれぞれのサイトでブログを書いてもらいます。そのブログに記事が投稿されると、本社のサイトのトップページの新着欄にその記事のタイトルが表示されます。その記事をクリックすると、その営業所のサイトにとび、そのブログ記事を閲覧することが出来ます。

プラグインブロック

「プラグインブロック」は、SOY CMSでプラグインを使う場合、このブロックで設定することでプラグインが使えるようになります。


これら5つのうち、「記事表示用ブロック」「ラベルブロック」「プラグインブロック」がよく使われます。

まとめ

SOY CMS特有の考え方と用語について説明してきました。

だいたいの概要は説明できたのではないかと思います。

最初はちょっと戸惑うかもしれませんが、慣れるとこれほど柔軟な対応のできるSOY CMSの良さが分かってくるでしょう。