当我试图通过查询它的父母来找到这个项目时,我找不到它.
rootTagItem.Axes.GetDescendants() ....
Run Code Online (Sandbox Code Playgroud)
看着即时窗口我可以告诉父母包含该项目,但是用英语让我感到困惑?!
rootTagItem.Axes.GetDescendants()
Sitecore.Data.Items.Item[23]
Veehouderij-Varkens (en#1@web), id: {ED94B438-722B-498B-9499-84F749BB8429}
Database: "web"
Id: "{ED94B438-722B-498B-9499-84F749BB8429}"
Language: "en"
Name: "Veehouderij-Varkens"
Version: "1"
Run Code Online (Sandbox Code Playgroud)
尽管没有定义英文版本,我们如何解释该项目是否以英文版本返回(见图片)?
Marek的回应被接受了,因为他提供了解释它的链接.
这就是Sitecore的工作方式.
如果此项目有其他语言版本,即使没有您的语言版本,Sitecore也会返回此项目.
你需要做的是检查.Versions.Count():
rootTagItem.Axes.GetDescendants().Where(d => d.Versions.Count > 0);
Run Code Online (Sandbox Code Playgroud)
有人打电话给他们empty items.我不知道它是否是官方Sitecore命名.在Sitecore 8.1中,您可以强制Sitecore跳过它们.
您可以在KevinBrechbühl的Sitecore 8.1博客中找到有关Enforce语言版本状态的更多信息.
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |