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を出力するといったことが可能になります。
今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。





