共通箇所をPHPモジュールで管理する(SOY Shop)(要PHP)

共通箇所は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);

に変更します。


変更後に管理画面を開き、モジュールの画面を開くと、


module11

module3

module4


HTMLモジュール一覧の上にモジュール一覧というエリアとモジュールの追加のリンクが追加されます。

モジュールという名前ですが、これがPHPモジュールです。


module22


後は画面の指示に従ってモジュールを作成して下さい。

モジュールの使用方法はHTMLモジュールと同様なので省略します。


モジュールIDを決める際、HTMLモジュールではsampleのようにドット無しでしたが、

PHPモジュールの場合はparts.sampleのようにドットで区切るようにIDを決めます。


これは、partsディレクトリにsample.phpという名前のファイルを作成するという意味で、

ディレクトリ名から指定する形になっています。


HTMLモジュールでディレクトリ名を指定しなかった理由は、

HTMLモジュールの場合は必ずhtmlディレクトリに格納されるからです。

同じカテゴリーの記事