4

カスタムContentPartのモジュールで、フィールドをテキストフィールドに設定するにはどうすればよいですか?

私のmigrations.csクラスでは、パーツのテーブルを作成しました。

public int UpdateFrom1()
        {
            SchemaBuilder.CreateTable("RightContentPartRecord", table =>
               table.ContentPartRecord()
                    .Column<string>("Html"));                                                      
            return 2;
        }

つまり、Htmlという列があります。WYSIWYGエディターを使用したいので、これを「箱から出して」機能させるにはテキストフィールドが必要だと言われました。

ただし、これは私には起こらないので、Htmlという列をパーツのテキストフィールドに変換するにはどうすればよいですか?

また、WYSIWYGエディターを使用するように構成するにはどうすればよいですか?

4

2 に答える 2

8

独自のカスタム コンテンツ パーツのプロパティを htmleditor として表示する場合は、パーツのエディター テンプレートで次のように構成します。

@Script.Require("OrchardTinyMce")
@Html.TextAreaFor(x => x.Header, new { @class = "html tinymce" }) 

この場合、「ヘッダー」プロパティは html エディターとして表示されます。

より多くの部分でこれが必要な場合は、Html 拡張機能またはエディター テンプレートを作成することを検討できます。

于 2012-12-04T07:56:49.327 に答える
5

テキスト フィールドは、パーツ プロパティと同じではありません。フィールドは、独自のデータベース列として保存されません。移行からパーツにフィールドを追加する方法の例を次に示します。

        ContentDefinitionManager.AlterPartDefinition("Product",
          builder => builder.WithField("ProductImage", fieldBuilder => fieldBuilder.OfType("MediaPickerField").WithDisplayName("Product Image")));

.WithSetting("Flavor", "html")テキスト フィールドの場合は、フィールド ビルダーに追加して、フレーバー設定も行う必要があります。

于 2012-05-31T16:23:22.650 に答える