Sitecore 项目字段值为空
本文关键字:字段 项目 Sitecore | 更新日期: 2023-09-27 18:34:31
后期更新所以,花了一些时间试图弄清楚这一点,我得到了这个:在 sitecore.config 中,有一个部分用于定义您的网站。当我尝试设置自定义登录页面时,我将"loginPage"属性添加到"网站"网站元素,但它不起作用。
有一次,我意识到我必须将名称从"网站"更改为"myhost_name",登录页面开始按预期工作,但事实证明,删除"网站"网站元素并不是一个非常好的主意,因为网站开始有这种不稳定的行为。
有谁知道这种情况的正确设置是什么?在这件事上,我找不到 Sitecore 文档可以清除。
谢谢
我有以下问题(我是 Sitecore 开发的新手,所以这可能是一些简单的东西,但我无法弄清楚(
我有一个模板,用于显示一些错误消息,我将在网站上显示,并且在内容下有一个文件夹,用于存储此项目
我在模板上添加了 3 个字段:-类型- 结果键-消息
它们都是单行文本
现在,在视觉工作室中,我有一个例程来做到这一点:
/// <summary>
/// Get an Item by path
/// </summary>
public Item GetItemByPath(string itemPath)
{
return Sitecore.Context.Database.GetItem(itemPath);
}
我还有一个应该返回视图模型
public ModelValidation GetMessageByName(string itemName, string xpath)
{
var mess = GetItemByPath(xpath + itemName);
if (mess == null) return new ModelValidation(3, itemName);
int type;
string stype = "";
string message = "";
mess.Fields.ReadAll();
if (mess.Fields["Type"] == null)
stype = "3";
else
stype = mess.Fields["Type"].Value;
if (!int.TryParse(stype, out type))
type = 3;
if (String.IsNullOrEmpty(mess.Fields["Message"].Value))
message = itemName;
else
message = mess.Fields["Message"].Value;
return new ModelValidation(type, message);
}
问题:返回项目,所有字段都已就位,但我的字段的值为 " (字符串.空(
我做错了什么?这些项目在 Sitecore 中具有值,并且它们已发布(我检查了 Web 数据库(
上下文Sitecore 8.1VS 2013 MVC 5.2.3
谢谢
以下是获得空结果的可能性。
- 获取项目时未正确传递语言版本。
- 项目的路径可能不正确
- 上下文数据库可能是错误的,数据可能在主数据库中,但您引用的是 Web 数据库。
- 尝试使用 按项目 ID 获取项目。
- 同一项目可能有不同的版本,并且您轻描淡写地获取了具有空值的错误版本
尝试将查询更改为:返回 Sitecore.Context.Database.GetItem(itemPath, Sitecore.Context.Language(;如果未指定语言,则返回的项目可能使用与上下文中的语言不同的语言,因此数据为空。
此致敬意Łukasz Skowroński
谢谢大家的建议。问题是有一个 另一个站点配置文件 .Stil没有解释意外行为,但至少我解决了这个问题。