【问题标题】:Can I use conditionals to render a grid widget?我可以使用条件来呈现网格小部件吗?
【发布时间】:2020-01-06 22:17:22
【问题描述】:

我在一个新建的 Sitefinity 12.2 站点工作。我正在使用自定义网格小部件呈现站点的页眉和页脚,其中为站点导航等小部件定义了占位符。在标题中是一个带有占位符的弹出菜单,我想在我的页面模板上填充小部件。不幸的是,我需要在设计器模式下禁用网站的自定义 JavaScript 以防止编辑工具出现问题,因此我无法通过正常方式访问弹出菜单,因为它是通过自定义 JavaScript 切换的。

理想情况下,我希望在页面设计器模式下有条件地呈现弹出菜单的替代视图,以允许作者修改这些占位符的内容。在 Razor 文件中,可以使用类似

@if (SystemManager.IsDesignMode)

但网格小部件使用 .html 文件,因此 Razor 语法不可用。是否有任何类型的属性可以应用于网格小部件模板中的标签,以告诉 Sitefinity 仅在设计器模式下呈现标记?如果没有,我应该遵循任何其他最佳做法来避免这种情况吗?

【问题讨论】:

  • 在布局视图中,您可以包含一个额外的 css 文件,例如backendFixes.css 如果您处于设计模式。在这个 css 中,您可以使菜单始终可见、粘性等。

标签: javascript sitefinity


【解决方案1】:

我遵循 Veselin 的建议,仅在设计模式下在我的布局文件中添加了自定义样式。我能够让弹出菜单始终像这样可见,这符合我的需要。我还收到了 Sitefinity 某人的建议,可以通过查找类 'sfPageEditorWrp' 来检测 Javascript 中的页面编辑器,如果单独使用 CSS 不能解决它,这可能很有用。

这是一个简单的 display:block 用于我的弹出菜单,它在编辑器中看起来有点难看,但它暴露了我关心的占位符。 在我的布局文件中:

@if (SystemManager.IsDesignMode)
    {
        <style>
            .mobile-menu {
                display: block !important;
            }
        </style>
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2021-10-11
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多