SOY CMSやSOY Shopの共通部分のHTML用でHTMLモジュールという機能で、別サイトのモジュールを読み込めるようにしてほしいという要望がありました。

共通箇所はHTMLモジュールで管理する - SOY CMSを使ってみよう

共通箇所はHTMLモジュールで管理する(SOY Shop) - SOY Shopを使ってみよう


試験的な意味合いで、下記のような機能を設けてみました。

例えば、サイトIDがotherSiteという別サイトで<!-- cms:module="html.sample" /-->というモジュールを作成したとします。

このモジュールをサイトIDがsiteというサイトで使用したい場合は、<!-- cms:module="{otherSite}.html.sample" /->のようにcms:moduleの指定の頭に{サイトID}.を加えることで、別サイトのモジュールを読み込み出力できるようにしました。


現時点での注意点として、

・SOY CMSのサイトで作成したものはSOY CMSのサイトのみで、SOY Shopのサイトでは利用できません。

※SOY Shop用のモジュールの場合、SOY CMSのサイトでは使用できません。

・モジュール内でデータベースから値を参照してHTMLを組み立てるようなモジュールは使用できません。

※DAOの記述があるようなモジュールは対象外です。

SOY CMS/Shopのモジュール内でSQLを実行する


現時点での仕様ではデータベースを参照するモジュールの読み込みを行ってもエラー等は出力されませんので、使用する際はご注意ください。


今回の機能は下記のURLにあるパッケージでご利用できます。

https://saitodev.co/soycms/

https://saitodev.co/soycms/soyshop/