Read this article in your language 



Extensionを作るうえで、そのExtensionで利用する設定情報(変数)が必要な場合にメンテナンスが必要になります。このメンテナンス作業を簡素化してくれるのが、ExtensionSettings(Extension Manager)です。ここでは、どのようにニーズに合った項目を表示・編集できるようにするかを説明します。きまりきった作業なので、一度分かってしまえば今後のExtension開発に役立つと思います。
BlogEngin.NET Extensionの作り方(2)では、二つの項目しか利用しませんでしたが、応用として入力タイプ指定・複数設定の方法を行います。
using BlogEngine.Core;
using BlogEngine.Core.Web.Controls;
///
/// BlogEngin.NET Extensionの作り方(3)のサンプル
///
[Extension("BlogEngin.NET Extensionの作り方(3)のサンプル", "1.0", "Tadahiro Higuchi")]
public class Test_03
{
static protected ExtensionSettings _settings_1 = null;
static protected ExtensionSettings _settings_2 = null;
public Test_03()
{
//----------------------------------------
// 設定1
//----------------------------------------
ExtensionSettings settings_1 = new ExtensionSettings("Test_03_1");
settings_1.IsScalar = true;
//項目設定
settings_1.AddParameter("String", "文字列", 50);
settings_1.AddParameter("RadioGroup", "ラジオグループ", 20,false,false, ParameterType.RadioGroup);
settings_1.AddParameter("Dropdown", "ドロップダウン",50,false, false, ParameterType.DropDown);
settings_1.AddParameter("ListBox", "リストボックス", 50, false, false, ParameterType.ListBox);
//初期値
settings_1.AddValue("String", "初期値");
settings_1.AddValue("RadioGroup", new string[] { "ラジオ1", "ラジオ2", "ラジオ3" }, "ラジオ2");
settings_1.AddValue("Dropdown", new string[] { "アイテム1", "アイテム2", "アイテム3" }, "アイテム3");
settings_1.AddValue("ListBox", new string[] { "アイテム1", "アイテム2", "アイテム3" }, "アイテム1");
//
settings_1.Help = "文字列は、50文字までで入力してください。";
ExtensionManager.ImportSettings("Test_03",settings_1);
//----------------------------------------
// 設定2
//----------------------------------------
ExtensionSettings settings_2 = new ExtensionSettings("Test_03_2");
settings_2.IsScalar = false;
//項目設定
settings_2.AddParameter("Field1", "項目1", 20, true, true);
settings_2.AddParameter("Field2", "項目2", 50, true);
settings_2.AddParameter("Field3", "項目3");
settings_2.Help = "項目1はきーです。項目3は省略可能です。";
//初期値
settings_2.AddValues(new string[] { "Value1", "Value2", "" });
settings_2.AddValues(new string[] { "Value10", "Value20", "Value30" });
//
ExtensionManager.ImportSettings("Test_03", settings_2);
_settings_1 = ExtensionManager.GetSettings("Test_03", "Test_03_1");
_settings_2 = ExtensionManager.GetSettings("Test_03", "Test_03_2");
}
}
このソースは、設定1(Test_03_1)と設定2(Test_03_2)という2つの設定情報を定義しています。設定1(Test_03_1)では、入力型のサンプルを表示し、設定2(Test_03_2)では複数項目(IsScalar = false)のサンプルを表示しています。各コードについての説明は割愛しますが、実行結果としては、

このようになります。ソースと画面を見ればお分かり頂けると思います。
Views(325)
現在のレート 5.0 (1人)
- Currently 5/5 Stars.
- 1
- 2
- 3
- 4
- 5