カスタムモジュール

スパイラルでは、PHPプログラムにおいて共通で利用する処理をモジュールという単位でPHPファイルとして管理することが出来ます。このカスタムモジュールはWebページやカスタムプログラム内においてrequireやinclude文により取り込み可能なPHPプログラムです。

カスタムモジュール

管理画面上ではフォルダ分けして複数のファイルを管理することができるようになっています。なお、管理できるファイル数は最大100までです(拡張オプション有り)。

カスタムモジュール管理画面

複数のWebページで利用する共通のモジュールを置くことができるため、共通モジュールを変更することにより、一括でWebページの変更を行うといったことも可能です。例えば、以下のように利用してコーディングの生産性と保守性を高めることも出来ます。

  • DBを参照してのドロップダウンリスト出力(select / optionタグ)
  • 複数の画面で利用する共通のCSSを出力(styleタグ)

なお、カスタムモジュールはPHPプログラム内からのみアクセス可能となっており、WebページのHTMLからURLで直接読み込むといったことはできません。

カスタムモジュールアップロードAPIの利用

カスタムモジュールはスパイラルの管理画面上でも追加・変更・削除など自由に行っていただくことができますが、ローカルで作成・編集したファイルをカスタムモジュールアップロードAPIやアップローダを利用してスパイラル上にアップロードすることも可能です。使い慣れたエディタでPHPプログラムを編集することができますのでぜひご活用下さい。

カスタムモジュールのアップロード

アップロードAPIを意識することなくアップロードしていただけるように、cmuploadコマンドを提供しています。cmuploadコマンドは、管理画面の「カスタムモジュール」において説明を表示するとアップロードツールのリンクがありますので、そちらからダウンロードしてください。コマンドの利用方法など詳しくはzipファイル内に含まれているreadme.txtをお読みください。なお、Javaプログラムとなっているため、JREがインストールされいてるなどJavaが実行可能な環境でのみご利用いただけます。

お使いのエディタによっては、ファイル保存時にアップロードAPIやアップローダを実行して自動的にアップロードするといったことも出来るでしょう。

カスタムモジュールの簡単な利用例

mycss.php, header.php, news.phpという3つのカスタムモジュールを用意して、それを一覧表のソースから読み込んで利用してみます。

  • mycss.php
<?php
  echo <<<END
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
h1 { font-size: 30px; color: #ff0000; }
.member { text-align: right;  color: #0000ff; }
--></style>
END;
?>
  • header.php
<?php
  echo <<<END
<div class="member">%val:usr:name% さん、こんにちは</div>
<hr>
END;
?>
  • news.php
<?php
  // 自社システムから情報を取得してニュースリストを返す
  function fetchCompanyNews() {
    ・・・
    return $news_list;
  }

  echo "<ul>";
  $list = fetchCompanyNews();
  foreach ($list as $news) {
    echo "<li>" . $news . "</li>";
  }
  echo "</ul>";
?>
  • 一覧表ページのソース
<html lang="ja">
<head>
<title>カスタムモジュール使用例</title>
<!--SMP_DYNAMIC_PAGE DISPLAY_ERRORS=ON NAME=SAMPLE -->
<?php require_once("mycss.php"); ?>
</head>
<body>
<?php require_once("header.php"); ?>

<h1>今日のニュース</h1>
<?php include("news.php"); ?>

</body>
</html>

このように一覧表内でrequire_once()include()などを使ってカスタムモジュール呼び出すことで、以下のようなコンテンツを出力することが可能です。

カスタムモジュール使用例