9 29

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)のサンプルを表示しています。各コードについての説明は割愛しますが、実行結果としては、
Test_03_1
このようになります。ソースと画面を見ればお分かり頂けると思います。
Views(325)

現在のレート 5.0 (1人)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

コメント

コメントを書く


(アイコンを表示しますか Gravatar )  

  Country flag

biuquote
  • コメント
  • プレビュー
Loading