我正在Orchard CMS v1.6.1中创建自定义简报订阅模块
我正处于尝试在特定区域中显示前端视图的阶段。
到目前为止,我所能看到的就是获取展示位置,将模块移动到Content
区域内的不同位置。
也许有人可以帮助我指出正确的方向。
我的主题中的placement.info文件现在具有此功能,以覆盖我模块中的任何内容:
<Match DisplayType="Detail">
<Place Parts_SubscribersForm="Content:1"/>
</Match>
我也试过“Footer:1”,并且为了测试,尝试了“Header:1” - 这些似乎都没有把它放在我想要的地方。
我的形状追踪如下 - “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
如果有人可以帮助我,我将不胜感激......
提前致谢。
答案 0 :(得分:3)
在Orchard中放置形状时有两种类型的区域 - 布局区域(在Layout.cshtml中定义)和本地区域(内容项本地区域,如由Content.cshtml定义的页眉,元数据,内容,页脚)。本地区域都在主要布局的“内容”区域内呈现。以下放置会将您的形状推到页脚局部区域:
<Match DisplayType="Detail">
<Place Parts_SubscribersForm="Footer:1"/>
</Match>
这就是为什么你的表单似乎没有像你预期的那样进入页脚。它位于本地Footer区域,但仍在布局的Content区域内呈现。相反,您可以将形状移动到例如通过放置正斜杠来显示页脚布局区域:
<Match DisplayType="Detail">
<Place Parts_SubscribersForm="/Footer:1"/>
</Match>