0

私はラッパーに関するオーチャードのドキュメントに従っていますが、頭を包むことができませんでした。 http://docs.orchardproject.net/Documentation/Understanding-placement-info#Wrapper

ドキュメントによるとWrapper.HtmlContent.cshtml、以下を作成して挿入することになっていました。

<div class="htmlWrapperContent">
    @Model.Html
</div>

しかし、何Model.Htmlですか?それはShapeですか?私Modelは、形状そのものであることを知っています。またはHtmlの組み込みプロパティではないので、コードを介して行われるカスタムプロパティである必要があると思います。ShapeIShapeshapeHelper.My_Shape(Html: "Hello World")


私が達成しようとしていることの説明から始めましょう。私は次のことをしました:

配置情報

<Placement>
    <Place My_Shape="Content:before;Wrapper=My_Wrapper" />
</Placement>

My.Shape.cshtml

<div class="myShape">
    @* let's pretend that the line below prints "Hello World" *@
    @Model.Html
</div>

My.Wrapper.cshtml

<div class="htmlWrapperContent">
    @* what should I be putting here? *@

    @* I have tried the following *@

    @* #1 *@
    <div class="myShape">
        @Model.Html
    </div>
    @* Obviously this works but then why would I use a wrapper to do this? I might as well just surround `My.Shape.cshtml` with `<div class="htmlWrapperContent"></div>` above. *@

    @* #2 *@
    @Display(Model)
    @* This doesn't work because circular reference. IIS killed itself. *@

    @* #3 *@
    @DisplayChildren(Model)
    @* Since `Model._items` is empty, this doesn't print anything. *@
</div>

ページがどのように見えるかについての私の期待

<div class="htmlWrapperContent">
    <div class="myShape">
        Hello World
    </div>
</div>

だから私の質問は、My.Wrapper.cshtml私の期待に応えるためにどのように見えるべきですか?

4

1 に答える 1

0

質問を投稿した直後に、ここで答えを見つけました

Orchard - フィールドのラッパー

したがって、ラッパーは

My.Wrapper.cshtml

<div class="htmlWrapperContent">
    @Display(Model.Metadata.ChildContent)
</div>

Orchard のドキュメントは、いくつかの改善を使用できます。

于 2016-02-03T08:01:14.710 に答える