共通箇所はHTMLモジュールで管理するでHTMLモジュールの使い方を紹介しました。
HTMLモジュールはブロックよりも簡単に設置することが出来、
ファイルを直接開いて編集できるといった便利さがありましたが、
HTML(とJavaScript)のみの記述でPHPが書ける人にとっては制約が多くて物足りないです。
PHPが書ける人用でSOY CMSではPHPモジュールというPHPの記述がありのモジュールが用意されています。
ただし、テンプレート内でPHPの記述を許可する(要PHP)で記載した内容と同様にCMSを乗っ取られた際に被害が大きくなる可能性がありますので、使用の際はご注意下さい。
CMSに不正にログインした後、何をする? - saitodev.co
SOY CMS/ShopでPHPモジュールに使用の制限を設けました - saitodev.co
PHPモジュールは標準設定では禁止されていますので、PHPモジュールの使用許可を与える設定からはじめます。
PHPモジュールの使用の許可の仕方は
CMSインストールディレクトリ/common/config/user.config.php.sample
を
CMSインストールディレクトリ/common/config/user.config.php
のようにリネームします。
user.config.phpにはSOY CMS、SOY Shopの制限に関する設定が記述されています。
user.config.phpを開き、18行目付近にある
define("SOYCMS_ALLOW_PHP_SCRIPT",false);
を
define("SOYCMS_ALLOW_PHP_SCRIPT",true);
に変更します。
変更後に管理画面を開き、モジュールの画面を開くと、
HTMLモジュール一覧の上にモジュール一覧というエリアとモジュールの追加のリンクが追加されます。
モジュールという名前ですが、これがPHPモジュールです。
後は画面の指示に従ってモジュールを作成して下さい。
モジュールの使用方法はHTMLモジュールと同様なので省略します。
モジュールIDを決める際、HTMLモジュールではsampleのようにドット無しでしたが、
PHPモジュールの場合はparts.sampleのようにドットで区切るようにIDを決めます。
これは、partsディレクトリにsample.phpという名前のファイルを作成するという意味で、
ディレクトリ名から指定する形になっています。
HTMLモジュールでディレクトリ名を指定しなかった理由は、
HTMLモジュールの場合は必ずhtmlディレクトリに格納されるからです。