PHPモジュールを使用する(要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モジュールの使用許可を与える設定からはじめます。

※サーバにリモートアクセスして、モジュールファイルを直接作成する場合は下記のuser.config.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_MODULE",false);

define("SOYCMS_ALLOW_PHP_MODULE",true);

に変更します。


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


module


HTMLモジュールの上にモジュールの新規作成のリンクが追加されます。

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


module1


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

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


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

これは、partsディレクトリにsample.phpという名前のファイルを作成するという意味で、ディレクトリ名から指定する形になっています。


HTMLモジュールでディレクトリ名を指定しなかった理由は、HTMLモジュールの場合は必ずhtmlディレクトリに格納されるからです。


追記

サーバへリモートアクセスしてPHPモジュールを直接作成する方法

PHPモジュールを自作する

同じカテゴリーの記事