【问题标题】:Placing a custom module in specific zone in Orchard CMS在 Orchard CMS 的特定区域放置自定义模块
【发布时间】:2013-08-04 20:04:37
【问题描述】:

我正在 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

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

提前致谢。

【问题讨论】:

    标签: asp.net-mvc orchardcms orchardcms-1.6


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 太棒了——非常感谢。我还有一个关于我需要添加的形状等的问题。也许当我完成后你可以看看?
    • 我想知道你是否不介意快速看一下这个 Q 吗?也许你能帮忙?在此先感谢.. stackoverflow.com/questions/18059888/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多