- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为“ session ”的 Sitecore 数据模板。它有一个名为“其他事件”的字段。该字段是一个多列表,允许内容编辑器将许多不同的事件与 session 相关联。我的 session 内容项并非都位于内容树的同一个文件夹中。它们分布在整个站点。给定一个特定的事件,我需要能够找到并显示该事件的所有相关 session 的列表。现在我正在使用 Sitecore 查询,如下所示:
/Sitecore/Content/Home//*[(@@templatename='Meeting') and (contains (@@#Additional Activities#, '{C73FAE38-DBF5-42C9-B872-8E412B99E9DE}'))]
这行得通,但速度非常慢。我考虑过创建某种我可以查询的内存缓存,但后来我遇到了何时重建缓存的问题。我也考虑过使用 Lucene,但我发现 Lucene 查询实现起来 super 复杂。有没有人对更好的方法有任何建议?我是否应该只使用 Sitecore 查询来获取内容树中所有 session 的列表,然后遍历它们?
最佳答案
有一个 Lucene 的替代方案,可以替代您正在尝试做的事情。不过让我说清楚;我同意 Klaus 的观点,研究 Lucene 是推荐的路线。话虽如此;这是一个替代版本。对于您正在尝试做的事情,您可以使用 Sitecore LinkDatabase。只要您只想查找涉及特定事件的 session ,它就会为您解决问题。
代码看起来像这样:
Item activityTemplate = Sitecore.Context.Database.GetItem( "/sitecore/templates/path/to/your/activity/template" );
var links = new List<ItemLink>( Globals.LinkDatabase.GetItemReferrers( activityTemplate, false ) );
List<ItemLink> filteredLinks = links.FindAll( il => il.SourceDatabaseName == Sitecore.Context.Database.Name );
// filtered links is now a list of all references to your activity
foreach ( ItemLink fl in filteredLinks )
{
Item si = fl.GetSourceItem();
// Check if the reference is a meeting item
if ( si.TemplateID == Sitecore.Data.ID.Parse( "{0E06BFCA-3595-4F31-BDBF-746EE6663B4A}" ) && si.Paths.FullPath.StartsWith( "/sitecore/content" ) )
{
// si is your meeting item
Response.Write( si.Paths.FullPath + "<br />" );
}
}
此查询的执行时间与 Lucene 等效项一样快(可能略快),而且绝对比您的原始 Sitecore 查询快。
关于sitecore - 如何使用 contains 参数从 Sitecore 中选择内容项。 Sitecore 查询非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006818/
我已将 Active Directory 模块与 sitecore 集成,我可以在 sitecore 用户管理器中看到广告中的用户。现在我想验证广告用户是否可以登录 sitecore。我为用户分配了
有没有办法通过代码访问Sitecore设置。 我感兴趣的具体设置是数据文件夹路径。 最佳答案 如果您想获得其他设置,您可能需要尝试:- Sitecore.Configuration.Settings.
根据 Sitecore 数据定义引用,版本 6.4,第 4.3.1 节: Sitecore processes queries using the fasted technology possible
Sitecore 6.6(更新4)。 MaxMind具有与DMS集成的Sitecore-specific lookup service选项。 MaxMind还具有一些更通用的Web服务。 可以将“通用
当我在 Sitecore 单行字段文本框中按 ENTER 时,它会呈现两个换行符 此问题仅出现在 Chrome/Firefox 中。在 IE ENTER 中只导致一个 我可以在这些浏览器中以某种方式
好奇为什么我无法从那里取回任何物品 HistoryManager.GetHistory(database, fromThisDate, toThisDate) ,我查看了 Sitecore 数据库,发
我们正在使用Sitecore 6.2,并且要求在Sitecore管理网站上使用SSL。 除了将内容保存在Rich Text编辑器中(单击“接受”按钮)时,所有指向媒体库项目的URL都将添加“ http
如何以编程方式登录 Sitecore? 例如,如果您想将 Sitecore API 的一小部分连接到桌面应用程序,则需要先登录到 sitecore 才能访问数据库等。 这可以做到吗? 最佳答案 正如
我已将 Sitecore 安装设置到两个不同的 IIS 站点。一个包含所有 Sitecore 管理文件,另一个包含共享相同 Web.config 的干净 Web 文件,而我的 Data 文件夹位于这两
我在一台开发服务器上安装了 sitecore,并将站点根文件夹复制到一堆开发机器上。此过程在 7 台计算机中的 6 台上运行良好,我们可以正常看到 sitecore 登录和内容编辑器页面,并通过 II
我已经设置了一个本地 Sitecore 环境,所有 sql 和 mongodb 数据库都可以正常工作。 除了我在体验文件(联系人)中没有获得任何数据 我看到 mongo 中的tracking_cont
我的 Sitecore 网站要求用户名是电子邮件地址。 我可以在代码中成功创建用户,但每当我尝试在用户管理器上的 Sitecore CMS 中手动创建 Extranet 用户时,都会引发电子邮件用户名
客户询问 Sitecore 中是否有任何地方内容作者可以为内容项的单个版本添加内部注释。该注释可能会说“我更改了内容字段以包含更新的描述”之类的内容。这与您在工作流程中提交项目时简单地添加评论不同。他
现在我的 sitecore 工作流程遇到问题。问题如下: 我的模板标准值已设置工作流程和默认工作流程字段集。工作流程状态设置为草稿。但是,每次我从此模板创建项目时,它都不会继承工作流程部分字段,所有字
我在 sitecore 用户管理器中遇到了这个奇怪的错误。我一打开用户管理器就收到此错误我无法将用户分配给角色。 有人可以帮忙吗? 提前致谢。 P.S > 以防万一它无法正确显示:http://www
我知道有一个 SortOrder 字段。然而,在我看来,该字段很多次都是空的,直到您真正开始在列表中四处移动内容项。然后,如果您有一个项目列表并四处移动其中一些项目,将为它们分配一个 SortOrde
我知道这听起来像是一个愚蠢的问题,但无数的谷歌搜索都没有给我想要的答案。我看到很多关于如何基于 Sitecore 模板等格式化电子邮件的数据,但没有关于实际发送邮件的信息。我是否需要通过 .net 代
我想 Hook item:renamed 事件来做一些处理。不过可能需要几分钟。事件处理程序是与正常管道执行异步执行还是同步执行?如果我需要自己执行此操作,是否有标准的 Sitecore 方法可以异步
我一直在浏览 Sitecore.Kernel,但似乎找不到 Sitecore 运行 Initialize 管道的位置。它是在每个页面请求上运行还是在应用程序启动时只运行一次?您能指出为此管道调用 Ru
我已经在 sitecore 中安装了重定向模块。在模块内部,我创建了“重定向网址”。在重定向网址中,我写了请求的网址“http://domainname/pagename”并从内容中选择了重定向到。但
我是一名优秀的程序员,十分优秀!