Umbraco で/Base拡張機能を使用したことがありますか? 同様の要件があり、 /Base が非常に強力であることがわかったため、これが役立つと思います。私のドキュメント タイプでは、HTML (または私の場合は Razor スクリプト) の入力として複数行のテキスト ボックスを実際に使用しました。/Base クラスで、正しいノードを見つけ、テキスト ボックスから生のスクリプトを取得し、スクリプトを生の html 文字列にレンダリングし、タグでラップされた文字列を返すメソッドを作成しました。
public static string GetRazor()
{
var doc = new DynamicNode(nodeId);
string razorScript = doc.GetPropertyValue("{propertyAlias}");
string razorString = RenderRazor.RenderRazorScriptString(razorScript, nodeId);
return razorString;
}
もう 1 つの方法は、テンプレートが呼び出すことができる Umbraco 内で次のようなマクロを作成することです。
@using umbraco.MacroEngines
@{
dynamic node = @Model;
string htmlString = node.GetPropertyValue("{propertyAlias}");
@Html.Raw(htmlString)
}
次に、テンプレート内にマクロを挿入するだけです。
<umbraco:Macro Alias="{RazorAlias}" runat="server"></umbraco:Macro>
テキスト ボックス内の HTML は、かみそりエンジンによってレンダリングされます。
-ダン