0

我正在 Orchard CMS v1.6.1 中创建自定义通讯订阅模块

我正处于尝试在特定区域显示前端视图的阶段。

到目前为止,我所能做的就是将模块移动到区域内的各个位置Content

也许有人可以帮助我指出正确的方向。

我的主题中的placement.info 文件现在有了这个,以覆盖我在模块中的所有内容:

    <Match DisplayType="Detail">
        <Place Parts_SubscribersForm="Content:1"/>
    </Match>

我也尝试过“页脚:1”,并且为了测试,尝试了“页眉:1” - 这些似乎都没有将它放在我想要的位置。

我的形状跟踪如下 - “DisplayTemplate”是这个即将成为控件的形状 - 我似乎也无法更改这个名称......另一个问题......

我的形状跟踪显示 DisplayTemplate(我的自定义模块)

最终我想将此模块移动到区域 [页脚]

在标准主题附带的 layout.cshtml 中添加了页脚(我为自己的主题复制了这个)

这是添加页脚和页眉的位置:

    WorkContext.Layout.Header.Add(New.Branding(), "5"); // Site name and link to the home page
    WorkContext.Layout.Footer.Add(New.FooterContent(), "5"); // Footer Content
    WorkContext.Layout.Footer.Add(New.User(), "10"); // Login and dashboard links

如果有人可以帮助我,我将不胜感激...

提前致谢。

4

1 回答 1

3

在 Orchard 中放置形状时有两种类型的区域 - 布局区域(在 Layout.cshtml 中定义)和本地区域(内容项本地区域,例如由 Content.cshtml 定义的页眉、元、内容、页脚)。本地区域都在主布局的“内容”区域内呈现。以下放置会将您的形状推送到页脚本地区域:

<Match DisplayType="Detail">
    <Place Parts_SubscribersForm="Footer:1"/>
</Match>

这就是为什么您的表单似乎没有像您预期的那样移动到页脚中。它位于本地页脚区域中,但仍呈现在布局的内容区域中。相反,您可以通过放置正斜杠将形状移动到例如页脚布局区域:

<Match DisplayType="Detail">
    <Place Parts_SubscribersForm="/Footer:1"/>
</Match>
于 2013-08-04T23:27:45.557 回答