Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

スタジオ・テンプレートの使用法

この章では、スタジオ・テンプレートの使用方法について説明します。

テンプレートを使用すると、スタジオ編集ウィンドウに機能を繰り返し追加できます。テンプレートには、3 つのタイプがあります。

  • テキスト・テンプレート — (テンプレートという言葉で表現されるもの) シンプル・テキスト・テンプレートは、生成されたテキストをドキュメントに挿入します。インタラクティブ・テキスト・テンプレートには、ユーザ入力を含めることができます。例えば、スタジオ・テンプレートは、標準 HTML のブロックを CSP ファイルに挿入します。テキスト・テンプレートを使用するには、[ツール]→[テンプレート]→[テンプレート...] を選択します。

  • 新規ドキュメント・テンプレート — スタジオに新規のドキュメント・ウィンドウを作成します。

    新規ドキュメント・テンプレートは、[ファイル]→[新規作成] メニューによって表示される、新規のドキュメント・タイプのリストで構成されます。新規のドキュメント・テンプレートを作成するには、newMode 属性でシンプル・テキスト・テンプレートまたはインタラクティブ・テキスト・テンプレートのいずれかを作成します。

  • アドイン・テンプレート — スタジオに新規のツールを作成します。アドイン・テンプレートは、テキストをドキュメントに挿入せず、ドキュメントを開く必要がない点で、テキスト・テンプレートとは異なります。

    アドイン・テンプレートを使用するには、[ツール]→[アドイン] を選択します。 SOAP Web クライアント・ウィザードの使用の詳細は、"Caché での Web サービスおよび Web クライアントの作成" を参照してください。XML スキーマ・ウィザードの使用の詳細は、"Caché での XML の使用法" にある付録の "XML スキーマ・ウィザードの使用法" を参照してください。

スタジオには、一連の Caché 付属のスタジオの標準テンプレートが用意されています。また、CSP を使用して独自のカスタム・テンプレートを作成することもできます。

Note:

スタジオ・テンプレートがすばやく開くように、Internet Explorer でプロキシ設定の自動検出を無効にします。

  1. Internet Explorer を起動して、[ツール]→[インターネット オプション] から [接続] タブを選択します。

  2. [LAN の設定] を選択して、すべてのチェック・ボックスのチェックを外します。このページでチェックが付いていないことを確認し、[OK] を 2 回選択して [インターネット オプション] ダイアログを閉じます。

スタジオ・テンプレートへのアクセス

テンプレートを開くには、[ツール]→[テンプレート] を使用するか、エディタ・ウィンドウの右クリック・メニューを使用します。最近使用したテンプレートのリスト ([テンプレート...] の下の右クリック メニューに表示)、または、使用可能なテンプレートを一覧表示したスタジオ・テンプレートのリスト ([ツール]→[テンプレート]→[テンプレート] からアクセス) からテンプレートを選択して開くこともできます。各テンプレートは、1 つ以上のドキュメント・タイプに関連付けられています。現在のウィンドウのドキュメント・タイプに関連付けられているテンプレートのみが、テンプレート・リストに表示されます。

テンプレートには、シンプルとインタラクティブの 2 つのスタイルがあります。シンプル・テンプレートでは、ユーザが操作しなくても、カーソル・ポイントにテキストが挿入されます。インタラクティブ・テンプレートでは、追加の情報の入力が促される 1 つ以上の画面 (ウィザードと同様) が表示されます。

テンプレートを開いたときにハイライト表示されているテキストは、テンプレートによって置換されます。多くのテンプレートは、現在ハイライト表示されているテキストを、テンプレート・プログラムに対する入力として使用します。

Caché 付属の標準スタジオ・テンプレート

スタジオには、複数のテンプレートが用意されています。スタジオでシステム定義のすべてのテンプレートのリストを、%SYS ネームスペースの [ワークスペース] ウィンドウ→[ネームスペース] タブ→[CSP ファイル] の下に表示できます。 現在のドキュメントで使用可能なテンプレートを表示するには、[ツール]→[テンプレート]→[テンプレート] を使用します。以下で、これらのテンプレートを説明します。

Note:

既定では、スタジオ・テンプレートはセッション・タイムアウトを 90 秒としています。スタジオ・テンプレートにデータを入力する場合、ユーザの入力が 90 秒間ないと、セッションは終了します。詳細は、以下の “デフォルト・タイムアウト” のセクションを参照してください。

テンプレート

このセクション内の 3 つのテーブルでは、スタジオで CSP や Zen に使用できる以下のテンプレートが定義されています。

CSP テンプレート
テンプレート 説明
HTML Color カーソル・ポイントに HTML カラー値文字列 (#F0F0F0 など) を挿入するために選択します。
HTML Input HTML 入力制御をカーソル・ポイントに挿入するために選択します。
HTML Script 指定した言語とコンテンツが設定された <SCRIPT> タグをカーソル・ポイントに挿入するために選択します。
HTML Table 指定した特性が設定された HTML テーブルをカーソル・ポイントに挿入するために選択します。[Preview] を選択して、プレビュー・ウィンドウを表示します。
HTML Tag 指定した属性を持つリストから選択した HTML タグをカーソル・ポイントに挿入するために選択します。または、既存の HTML タグをハイライト表示してテンプレートを起動した場合は、表示された属性値を編集できます。

インタラクティブ・テンプレート、HTML カラー・テーブルの例
generated description: htmlcolorwizard

クラス定義テンプレート

CSP テンプレートの多くが、クラス定義内で利用できます (&html<> ブロックの場合に便利です)。また、以下のテンプレートが利用できます。

クラス定義テンプレート
テンプレート 説明
SQL 文 指定した SQL 文のコードをカーソル・ポイントに挿入するために選択します。[Preview] を選択すると、ポップアップ・プレビュー・ウィンドウ内で (データベース内のデータを使用した) テーブルの結果を表示できます。テンプレートが SQL テキストのみ、SQL テキストを基にした埋め込み SQL カーソル、または SQL テキストを基にした %ResultSetOpens in a new tab オブジェクトを返すかを指定できます。
Web フォーム・ウィザード CSP フォームを作成できるウィザードを開き、使用するフォームのクラス・メンバとテーブルのスタイルを指定します(使用例は、"スタジオを使用した簡単なアプリケーションの構築" を参照してください)。

Zen テンプレート

以下の Zen クラスのウィザード (テンプレートとも呼ばれます) を使用できます。これらのウィザードの使用方法の詳細は、"Zen の使用法" の "Zen ウィザード" および以下のテーブルの選択したテンプレートの参照先の章を参照してください。

Zen テンプレート
テンプレート 説明
Zen グラフ・テンプレート タイプ、スタイル、および属性を選択し、ZenPage クラスの Xdata ブロック内に Zen グラフ定義を挿入します。詳細は、"Zen コンポーネントの使用法" の "Zen のグラフ" の章を参照してください。
Zen 要素テンプレート ZenPage クラスの Xdata ブロック内に Zen 要素を挿入します。組み込み、カスタム、または複合の Zen コンポーネントを挿入または編集したり、新しい Zen コンポーネントを作成できます。詳細は、"Zen の使用法" の "Zen のレイアウト" の章を参照してください。
Zen メソッド・テンプレート メソッドを挿入します。このウィザードにより、スコープ、インスタンスまたはクラス、メソッドを実行する場所、名前、および try/catch エラー処理テンプレートを追加するかどうかを選択できます。スタジオ・エディタでは、それを詳細に編集できます。Zen メソッド・テンプレートの使用例については、このドキュメントの “クライアント側メソッドの追加” のセクションを参照してください。
Zen スタイル・テンプレート Zen クラスの Xdata スタイル・ブロック内に CSS スタイルの宣言を挿入します。テーブルには、Zen コンポーネントで定義された CSS スタイルの宣言が表示されます。そのいずれかを選択し、詳細を編集して、ページ内でそれをオーバーライドできます。詳細は、"Zen の使用法" の "Zen のスタイル" の章を参照してください。
Zen TablePane テンプレート ZenPage クラスの Xdata ブロック内に新しい Zen tablePane の定義を挿入します。この tablePane のクエリまたはテーブルのソースを選択して、必要に応じてプロパティを調整します。詳細は、"Zen の使用法" の "Zen のスタイル" の章を参照してください。

アドイン・テンプレート

[ツール]→[アドイン] メニューには、プロジェクトに項目を追加できるウィザードの一覧が含まれています。メニューには、以下のアドインが含まれています。

アドイン
アドイン 機能 詳細
.NET ゲートウェイ・ウィザード .NET から DLL アセンブリ・ファイルをインポートして、対応するクラスのセットを作成します。 .NET 用 Object Gateway の使用法
アクティベート・ウィザード Caché 内から COM オブジェクトへのアクセスを可能にする Caché クラスを作成します。 "Caché ActiveX ゲートウェイの使用法" の "Caché アクティベート・ウィザード"
Java ゲートウェイ・ウィザード Java からクラス・ファイルまたは jar ファイルをインポートして、対応するクラスのセットを作成します。 Ensemble ドキュメント・セット内の "プロダクションでの Java ゲートウェイの使用"
SOAP ウィザード WSDL (Web サービス記述言語) ドキュメントを読み取り、1 つ以上の Web クライアント・クラスまたは Web サービス・クラスを作成します。 Caché での Web サービスおよび Web クライアントの作成
XML スキーマ・ウィザード XML スキーマを読み取り、対応するクラスのセットを作成します。 "Caché での XML の使用法" の “XML スキーマ・ウィザードの使用法
XSL 変換ウィザード 指定された XSL スタイルシートを使用して XML ファイルを変換します。 "Caché での XML の使用法" の “XSLT 変換の実行

独自のスタジオ・テンプレートの作成

以下のテンプレートのうち、1 つを作成できます。

  • シンプル・テキスト・テンプレートでは、現在のカーソル位置にテキストが挿入されます。

  • インタラクティブ・テキスト・テンプレートでは、情報を要求するインタラクティブ・ダイアログが表示され、現在のカーソル位置にテキストが挿入されます。

  • アドイン・テンプレートでは、スタジオで一般的に利用できるツールが提供されます。

  • 新規ドキュメント・テンプレートは、スタジオの新規ドキュメント・ダイアログに表示され、新規のドキュメントを作成します。

Note:

スタジオ・テンプレートを作成するには、ある程度 CSP 開発に精通している必要があります。

テンプレート・アーキテクチャ

スタジオ・テンプレートは、Caché Server Page (CSP) を使用して作成および実装されます。各テンプレートは、Caché サーバで実行する 1 つまたは複数のサーバ・ページです。テンプレートを実行するとき、スタジオはブラウザを含むウィンドウを作成し、テンプレートに対応する CSP ページに対して (組み込みの Caché シンプル HTTP サーバ経由の) HTTP 要求を行います。CSP ページは、以下のいずれかを行うことができます。

  1. ユーザからの追加の入力を要求するインタラクティブ・フォームが含まれた HTML を返します。

  2. スタジオ内で、カーソル・ポイントに挿入されるテキストが含まれた XML を返します(すべてのテキスト・テンプレートと新規ドキュメント・テンプレートは、最終手順として上記を実行します。ユーザ・インタフェースを持たないシンプル・テンプレートは、この手順のみを実装し、アドイン・テンプレートはドキュメントにテキストを挿入しません)。

テンプレートの開発をより簡単にするために、Caché にはテンプレートのすべての基本的なオペレーションを実行する、一連のカスタム CSP タグが含まれています。これらのタグの詳細は、この後のセクションで説明します。

テンプレートの利点は、テンプレートが Caché サーバ上で実行され、Caché のすべての能力を利用できるところにあります。そのため、例えば、テンプレートによって、高度なデータベース・オペレーションを実行できます。

テンプレートを呼び出すと、パラメータがサーバに渡され、%request オブジェクトでアクセスできるようになります。これらのパラメータ (大文字と小文字が区別されます) には、以下が含まれる場合があります。

  • Project — 現在のスタジオ・プロジェクトの名前。

  • Namespace — スタジオが接続するネームスペースの名前。

  • User — 現在のスタジオ・ユーザの名前。

  • Language — ObjectScript 言語モード。

  • Document Namespace — ドキュメントが属しているネームスペース (現在のネームスペースと異なる場合があります)。

  • Name — 現在のドキュメントの名前 (存在する場合)。

  • Tabsize — このドキュメントのタブに含まれるスペースの数。

  • SelectedText — 現在のドキュメント内で選択されているテキスト (存在する場合)。

既存のテンプレートの名前を新規の名前に置換しない限り、各テンプレートには一意の名前を指定します。

デフォルト・テンプレート・タイムアウト

セッション・タイムアウトは、ユーザから何の入力もなくセッションが開いている時間です。 ユーザからの入力がないままこの時間が経過すると、CSP はセッションを閉じます。

スタジオで作成されたテンプレートは、/isc/studio/usertemplates ([ツール]→[テンプレート] メニューで表示されるアプリケーション) または /isc/studio/templates ([ツール]→[テンプレート]→[テンプレート] メニューで表示されるアプリケーション) のいずれかの CSP アプリケーションに保存されます。既定では、両方のアプリケーションともセッション・タイムアウトは 90 秒です。管理ポータルでは、これらの各アプリケーションの CSP アプリケーションのオプション・ページで [デフォルトタイムアウト] 設定に数値を入力できますが、セッション・タイムアウトは 90 秒にハードコードされており、この数値には効果がありません。これは、アクティブでないスタジオ・テンプレートがシステム・ライセンスを保持しないようにするためです。

シンプル・テキスト・テンプレート

シンプル・テンプレートは、現在のドキュメントのカーソル・ポイントに挿入されるテキストのブロックを返す、単独の CSP ページです。CSP ページには、特別なスタジオ CSP タグ <csp:StudioSimpleTemplate> が含まれます。

シンプル・スタジオ・テンプレートの作成

シンプルなスタジオ・テンプレートを作成するには、スタジオを起動して以下の手順を実行します。

  1. [ファイル]→[新規作成]→[Caché Server Page] を選択して、新規の CSP ページを作成します。

  2. ドキュメントの内容を以下と置換します。(新しいテンプレートの名前は MyTemplate です)。

    <csp:StudioSimpleTemplate name="MyTemplate" type="CSP">
    SOME TEXT!
    
  3. [ビルド]→[コンパイル] をクリックして、この CSP ドキュメントを保存し、コンパイルします。CSP ドキュメントに使用する名前やネームスペース、およびそのドキュメントを保存する CSP アプリケーションは何でもかまいません。

    スタジオ・テンプレートにすべてのネームスペースからアクセスできるようにするには、スタジオ・テンプレートを /isc/studio/usertemplates の %SYS ネームスペースに保存します。

これで、MyTemplate というテンプレートの定義が完了しました (この名前は、<csp:StudioSimpleTemplate> タグの name 属性によって指定されています)。スタジオ・エディタで CSP ページを開いている場合は、[ツール]→[テンプレート]→[My Template] を選択すると、テキスト SOME TEXT! がページに挿入されます。

テンプレート・ダイアログには、テンプレート・ダイアログを起動したドキュメント・タイプと同じタイプのテンプレートが表示されます。この例では、MyTemplate テンプレートには、CSP のタイプになります。スタジオ・エディタで CSP ページを表示している場合は、[ツール]→[テンプレート] リストにそれが表示されます。

タイプ属性 (ドキュメント・タイプのコンマ区切りのリスト) を編集して、テンプレートが実行されるドキュメント・タイプを指定することもできます。タイプのリストには、以下が含まれます。

スタジオ・テンプレート・タイプ
テンプレート・タイプ 現在のドキュメントが以下に該当する場合にテンプレートを使用できます
CSP CSP ドキュメント
CSR CSR ドキュメント
MAC MAC ルーチン
INT INT ルーチン
INC INC ファイル
BAS BASIC スクリプト
CLS クラス定義ドキュメント
MVB MVBasic ルーチン

シンプル・スタジオ・テンプレートのテスト

シンプル・テキスト・テンプレートをテストする方法は以下のとおりです。

  1. CSP アプリケーション・ディレクトリを使用して、スタジオで既存の CSP ページをオープンします (または新規作成します)。テンプレートを作成したネームスペースを続けて使用できますが、多くの場合は、通常作業を行うネームスペースへ接続します。

  2. CSP ドキュメント・エディタ・ウィンドウにカーソルを置き、[ツール]→[テンプレート]→[テンプレート] を選択します。

  3. リストに、新規のテンプレートが表示されます。それを選択して、[OK] を選択します。

シンプル・テンプレートの本文が、カーソル位置に挿入されます。以下に例を示します。

<html>
<body>
SOME TEXT!
</body>
</html>

シンプル・スタジオ・テンプレートに論理を追加する

テンプレートの本来の利点は、コードを実行できるということです。CSP ページ・テンプレートには、以下の CSP 機能を追加できます。

  • #( )# 構文を使用した埋め込み式

  • <script runat=”server”> タグに含まれるコード行

例えば、HTML <B> (太字) タグに、($ZDT 関数を使用して) 現在の日付と時刻を返すシンプル・テンプレートを作成します。

<csp:StudioSimpleTemplate name="Now" type="CSP">
<B>#($ZDT($H,3))#</B>

シンプル・スタジオ・テンプレートのトラブルシューティング

カスタム・テンプレートの開発で問題が発生した場合のデバッグ方法として、CSP の編集時に [ビュー]→[ブラウザで表示] を使用してブラウザでテンプレート CSP ページを表示する方法があります。XML テキストを表示できるブラウザを使用すると、テンプレートから返された値は XML でラップされます。

例えば、ブラウザに以下の URL を入力すると (または [ファイル]→[URL を開く] を使用)、このセクションの前で定義したテンプレートの出力を表示できます。

http://localhost:8972/csp/user/MyTemplate.csp

この結果、XML 応答は次のようになります。

<?xml version="1.0"?>
<template>
BODY##www.intersystems.com:template_delimiter##
 SOME TEXT!##www.intersystems.com:template_delimiter##
</template>

応答は、 <template> 要素内に含まれます。応答の本文は、##www.intersystems.com:template_delimiter## 区切り文字を使用して区切られています。

インタラクティブ・スタジオ・テンプレート

インタラクティブ・テンプレートは、1 つまたは複数の CSP ファイル・セットです。これらのファイルにより、ユーザ入力を要求する (HTML を使用した) ダイアログ・ウィンドウが表示されます。インタラクティブ・テンプレートの最終ページでは、シンプル・テンプレートと同様に、現在のドキュメントのカーソル・ポイントにテキストのブロックが挿入されます。

インタラクティブ・テンプレートを選択すると、スタジオには Web ブラウザを含むダイアログ・ウィンドウが表示されます。インタラクティブ・テンプレートの最初のページは、ユーザ入力を要求する HTML フォームを返します。

インタラクティブ・テンプレートの最初のページは、<csp:StudioInteractiveTemplate> タグで開始します。このタグの属性は、シンプル・テンプレート・タグの属性と同一です。最後のページ (スタジオの出力を返すページ) は、<csp:StudioGenerateTemplate> タグで始まります。すべての中間ページ (複数のページを持つウィザードを作成している場合) には、特別なタグは必要ありません。最後から 2 番目のページには、最後のページを呼び出す [SUBMIT] ボタンを配置する必要があります。

例えば、ユーザにコンテンツとスクリプト・タイプの入力を促し、CSP ドキュメントに <script> タグを挿入する、インタラクティブ・テンプレート MyScript を作成するとします。最初のページ MyScript.csp は、シンプルな以下の HTML フォームを含みます。

<csp:StudioInteractiveTemplate name="MyScript" type="CSP">
<HTML>
<BODY>
<FORM NAME="form" ACTION="MyScript2.csp">
Language:
<SELECT NAME="language">
<OPTION VALUE="CACHE" SELECTED>CACHE
<OPTION VALUE="JavaScript">JavaScript
</SELECT>
<BR>
Script: <TEXTAREA NAME="script" ROWS="10" COLS="40"></TEXTAREA>
<BR>
<INPUT TYPE="submit" VALUE="OK" NAME="submit">
</FORM>
</BODY>
</HTML>

この CSP ページには、以下が含まれています。

  1. これがインタラクティブ・テンプレートであること、およびテンプレートの名前とタイプを指定する <csp:StudioInteractiveTemplate> タグ

  2. ACTION 属性によってテンプレートの最後のページ MyScript2.csp にリンクする HTML フォーム (以下を参照してください)

  3. スクリプト言語を指定する SELECT コントロール

  4. スクリプトのコンテンツを入力する TEXTAREA コントロール

  5. MyScript2.csp ページに、フォームのコンテンツを送信する SUBMIT ボタン

最後のテンプレート・ページ MyScript2.csp は、フォームから送信された値を使用して、スタジオに返信する応答を作成します。

<csp:StudioGenerateTemplate>
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    Write "<SCRIPT"
    Write " LANGUAGE=""",$G(%request.Data("language",1)),""""
    If ($G(%request.Data("language",1))="CACHE") {
        Write " RUNAT=""SERVER"""
    }
    Write ">",!
    Write $G(%request.Data("script",1)),!
    Write "<","/SCRIPT>",!
</SCRIPT>

このページは、<csp:StudioGenerateTemplate> タグで始まり、SCRIPT タグ (適切な属性も含まれたタグ) をスタジオに返信する ObjectScript コードが含まれています。このことをテストするには、新しい CSP ページを作成して、[ツール]→[テンプレート]→[MyScript] を選択します。任意の ObjectScript をスクリプト・ボックスに入力して、[OK] を選択します。指定したスクリプトが含まれたスクリプト・タグが新しい CSP ページに自動的に入力されます。

新規ドキュメント・スタジオ・テンプレート

new の値を持つ mode 属性を、<csp:StudioSimpleTemplate> タグ、または <csp:StudioInteractiveTemplate> タグに追加することで、新規のドキュメント・テンプレートを作成できます。

modenew であるすべてのテンプレートは、新規ドキュメント・ダイアログ ([ファイル]→[新規作成] で起動) に名前が表示されます。テンプレートの結果は、新規に作成されたドキュメントに記述されます。

例えば、新規の CSP ページを作成する新規のドキュメント・テンプレートを作成するには、以下のような CSP ファイルを作成します。

<csp:StudioSimpleTemplate name="MyCSPPage" type="CSP" mode="new">
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="FFDDFF">
<H1>New CSP Page</H1>
</BODY>
</HTML>

この CSP ファイルを保存し (このファイルは、任意の CSP アプリケーションに保存できます) コンパイルすると、スタジオの [新規作成] ダイアログに MyCSPPage として表示されます。これを選択すると、まだ名前が付いていない新規の CSP ドキュメントが、以下のコンテンツで作成されます。

<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="FFDDFF">
<H1>New CSP Page</H1>
</BODY>
</HTML>

テキスト・テンプレートについて前述したように、論理を追加したり、インタラクティブ・テンプレートを使用したりすることによって、より洗練された新規ドキュメント・テンプレートを作成できます。

新しいドキュメント・テンプレートの場合、%request オブジェクトでサーバに渡すパラメータは、以下のとおりです。

  • Project — 現在のスタジオ・プロジェクトの名前。

  • Namespace — スタジオが接続するネームスペースの名前。

  • User — 現在のスタジオ・ユーザの名前。

  • Tabsize — このドキュメントのタブに含まれるスペースの数。

新規クラス定義テンプレート

新規クラス定義を作成する新規ドキュメント・テンプレートを作成している場合、テンプレート・コードで追加の手順を実行する必要があります。つまり、スタジオに新規クラスの名前を指定し、新規クラス定義に対して適切な内部データ構成が作成されるようにする必要があります。この情報は、添え字 TemplateCLASS に保存された %session オブジェクトの Data プロパティのデータを経由して、テンプレートからスタジオに返されます。テンプレートには、以下のようなコードが含まれます。

<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    Set %session.Data("Template","CLASS") = classname
</SCRIPT>

ドキュメントの末尾へのテキストの追加

シンプル・テンプレートまたはインタラクティブ・テンプレートの最後のページに InsertAtEnd フラグを設定することによって、ドキュメント・テンプレートの最後にテキストを追加できます。このフラグが True (1) と評価されると、スタジオは、クラス以外のドキュメントの場合はドキュメントの最後に、クラス・ドキュメントの場合は最初の <Storage> タグの前に、テンプレート生成テキストを挿入します。

<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    Set %session.Data("Template","InsertAtEnd") = 1
</SCRIPT>

アドイン・スタジオ・テンプレート

addin の値を持つ mode 属性を、<csp:StudioSimpleTemplate> タグ、または <csp:StudioInteractiveTemplate> タグに追加することで、アドイン・テンプレートを作成できます。

modeaddin, であるすべてのテンプレートは、[アドイン] ダイアログ ([ツール]→[アドイン] で起動) に名前が表示されます。

テキスト・テンプレートで説明した同じ方法で、アドイン・テンプレートを作成できます。

アドインを呼び出すと、スタジオからサーバにパラメータが渡され、サーバ上で %request オブジェクトでこれらのパラメータにアクセスできるようになります。これらのパラメータ (大文字と小文字が区別されます) としては、以下が挙げられます。

  • Project — 現在のスタジオ・プロジェクトの名前。

  • Namespace — スタジオが接続するネームスペースの名前。

  • User — 現在のスタジオ・ユーザの名前。

  • Document — 現在のドキュメントの名前 (存在する場合)。

  • SelectedText — 現在のドキュメント内で選択されているテキスト (存在する場合)。

項目をプロジェクトに追加する

アドイン・テンプレートから 1 つまたは複数の項目を現在のプロジェクトに追加するには、アドイン・テンプレートの最後のページで、継承されたメソッド AddToProject を使用します。

例えば、以下の例は、クラス MyApp.MyClass を現在のプロジェクトに追加します。

<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    Do ..AddToProject("MyApp.MyClass.CLS") // note .CLS extension
</SCRIPT>

この方法で項目をプロジェクトに追加するとき、項目のタイプ (.CLS、.CSP、.MAC など) を項目名に付けることに注意してください。また、項目は、プロジェクトに追加する前に存在している必要があります。つまり、クラスをプロジェクトに追加しても、そのようなクラスは自動的に作成されません (ただし、アドイン・テンプレートの場合、クラス・ライブラリで提供されている %Dictionary クラスを使用すると、自動的にクラスが作成されます)。

FeedbackOpens in a new tab