首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Sitecore中的控制反转概念来让非页面项目显示它们自己?

如何使用Sitecore中的控制反转概念来让非页面项目显示它们自己?
EN

Stack Overflow用户
提问于 2011-09-27 23:10:36
回答 1查看 232关注 0票数 1

我有一些非页面的内容项目,这些项目被用作我在Sitecore构建的整个网站页面的“标注”。理想情况下,我希望能够独立定义这些标注的演示信息。然后,当CMS作者为站点中的特定页面选择标注时,他们知道如何显示自己。我在这里读到了一篇关于如何做到这一点的优秀的博客文章:http://www.awareweb.com/AwareBlog/InversionControl2.aspx。我使用了他在帖子中描述的第一种方法。

然而,我的代码实现并不完全有效。它似乎获得了正确的呈现,并且正确地迭代了所选的非页面标注项。但是当它在页面上显示它们时,似乎callout项仍然使用Sitecore.Context.Item作为它们的源项,而不是通过strDataSource变量传递给它们的源项,如示例代码中所示。

我是否需要在代码后台中为标注的子布局做一些特殊的事情,以告诉它们不要使用Sitecore.Context.Item,而是使用传入的源项?否则我就搞不懂它为什么不工作了。有什么想法吗?

谢谢,科里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-28 00:00:29

在子布局中设置DataSource并不会显式地将Context.Item设置为不同的值,它只是在子布局中设置它自己可以使用的属性。

John West的博客已经在这里涵盖了这个主题,而不是再次编写解决方案,所以我建议您阅读该主题- http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2010/11/How-to-Apply-Data-Sources-to-Sitecore-ASPNET-Presentation-Components.aspx

我推荐使用SublayoutParameterHelper共享源代码库,它提供了一个帮助器和一个基类,可以用子布局来访问由DataSource中的ID集表示的项;John在他的博客文章中也引用了这个库。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7571450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档