【问题标题】:What does @Html.Sitecore.Placeholder() point to?@Html.Sitecore.Placeholder() 指向什么?
【发布时间】:2016-03-11 15:31:05
【问题描述】:

在 Sitecore 7 MVC 中,我的理解是部分视图是通过在 .cshtml 文件中使用诸如 @Html.Sitecore().Placeholder("some_thing") 之类的 Razor 声明来表示的。

在这种情况下,参数"some_thing" 实际代表什么 - 它是否位于 Sitecore 实例中?如果是这样,我如何在 Sitecore 数据库中找到 "some_thing" 所代表的东西?

【问题讨论】:

    标签: asp.net-mvc sitecore sitecore-mvc


    【解决方案1】:

    简而言之:Sitecore Placeholder 是您可以添加组件的地方。

    @Html.Sitecore().Placeholder("some_thing") 中的参数some_thing 是占位符的名称。

    您的页面上可以有多个占位符。当您向页面添加组件时,您告诉 Sitecore “放入占位符 some_thing,这就是 Sitecore 知道将其放置在何处的方式。

    阅读Presentation Component Reference 了解更多信息(是的,这份文档已有多年历史了,但想法仍然相同)。

    【讨论】:

    • 感谢 Marek - 为此找到合适的 SDN 文档非常困难。我的问题的另一部分是,如果"some_thing" 引用了 MVC 视图(我认为 Sitecore 术语是“视图渲染”?),那么我在哪里可以弄清楚这个映射是如何定义的? (或者这只是按照惯例?"some_thing" 是否总是映射到 some_thing.cshtml 文件?)
    • 没有。 some_thing 在您的情况下是占位符的名称(正如我在上面写的)。它与任何渲染无关。如果您有任何组件(无论是视图渲染、控制器渲染还是任何其他组件类型),您都可以将其放置在占位符中。占位符的名称允许 Sitecore 将渲染放置在页面上的正确位置。
    【解决方案2】:

    @Html.Sitecore().Placeholder("some_thing") 通常位于布局页面中,例如您的 DefaultLayout 页面。正如 Marek 所说,这是一个放置组件的地方。如果您登录 Sitecore 并查看一个页面,在 Presentation 选项卡下,会有一个显示 Detail 的图标。点击那个。将打开一个弹出窗口(我认为它在版本 7 中仍然存在,我没有运行实例。在该弹出窗口中,选择一个组件或将一个新组件添加到默认布局。在组件的设置中将是一个名为 Placeholder 的字段。将文本“some_thing”放在那里,不带引号。我想这就是你要问的这个占位符代表什么。

    【讨论】:

    • 知道了 - 所以它指向组件的展示细节。谢谢!
    猜你喜欢
    • 2014-04-05
    • 1970-01-01
    • 2018-04-14
    • 2015-10-24
    • 2021-11-23
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    相关资源
    最近更新 更多