SOY CMSとSOY ShopでHTMLモジュールの見直しを行いました。

HTMLモジュールに関しては共通箇所はHTMLモジュールで管理する - SOY CMSを使ってみようをご覧ください。


HTMLモジュールはPHPで記述されたファイルを読み込み実行することで、HTMLで記述された内容を出力しますが、この時のモジュール用のPHPファイルの書き方は

<?php
function soycms_sample_module(string $html, HTMLPage $htmlObj){
	ob_start();

	echo <<<HTML

	ここにHTMLのコードを書く
	
	HTML;

	ob_end_flush();
}

のような感じでしたが、

<?php
function soycms_sample_module(string $html, HTMLPage $htmlObj){

	return <<<HTML

	ここにHTMLのコードを書く
	
	HTML;
}

のように保存して、実行もできるようにしました。


このような仕様変更で何が良くなったのか?というと、PHPモジュールで下記のようにHTMLモジュールを呼び出すことが可能になります。

<?php
function soycms_sample_php_module(string $html, HTMLPage $htmlObj){
	include_once(dirname(__DIR__)."/html/sample_module.php");
	return sample_module("", $htmlObj);
}

PHPモジュールを自作する - SOY CMSを使ってみよう


この機能により、状況に応じてHTMLモジュールを出し分けたり、複数個のHTMLモジュールをまとめて出力したり、一旦HTMLモジュールを読み込んでおいて、何らかの処理を行った後にHTMLを出力するといったことが可能になります。


今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。

https://saitodev.co/soycms/