記事とブロックで他ページとの共通箇所は記事で作成してブロック設定すると記載しましたが、
他にHTMLモジュール(cms:module)という機能でも共通箇所を管理することが出来ます。
前回同様、ヘッダをHTMLモジュール化してみます。
はじめに共通箇所のHTMLをメモ帳なりにコピー&ペーストしておきます。
続いて、
ページ一覧にあるモジュール管理のリンクをクリックし、
画面の指示に従い、HTMLモジュールを作成します。
HTMLモジュールのエディタが表示されたら、先ほどコピー&ペーストしておいたHTMLのコードを貼り付け更新します。
HTMLモジュールのエディタの画面の下の方にモジュールタグの記述例がありますので、このタグをコピーして、
このモジュールを使用したい箇所を下記のように変更します。
<!-- cms:module="html.header" --> <header id="header1" class="borno"> <div class="inner"> <div class="bg"> <h1><a href="index.html"><img src="/sample/site/images/logo_site.png" alt="サンプルサイト"></a></h1> <h2>サブタイトル、又はサイトの簡単な説明文を入れましょう</h2> </div> <div class="sns"> <a href="https://www.facebook.com/" target="_blank"><img src="/sample/site/images/fb.png" alt="facebook"></a><a href="https://twitter.com/" target="_blank"><img src="/sample/site/images/tw.png" alt="twitter"></a> </div> </div> </header> <!-- /cms:module="html.header" -->
生成されたcms:moduleタグで囲みます。
テンプレートを変更の後、公開側の表示でモジュールが反映されていれば設定は終了です。
共通箇所を管理する方法として、ブロックとHTMLモジュールを紹介しました。ブロックとHTMLモジュールの大きな違いは、
block:id="***"もしくはcms:module="***"で囲った後の設定の手続きの有無です。
公開後もページを量産するサイトであれば、ページを追加する度にブロックの設定を行うのは大変です。
このようなサイトの場合はcms:moduleで共通箇所の管理を行うと良いです。
もう一点の違いは、記事はデータベース内に保存されていますが、HTMLモジュールはファイルとして保存されます。
ファイルは/ルート/サイトID/.module/html/モジュールID.phpとして管理され、AdobeのBracketsといったFTPと接続してサーバのファイルを直接編集できるエディタを使用しているのであれば、SOY CMSの管理画面を開かずに編集することが可能です。