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

谢谢

Sitecore 项目字段值为空

以下是获得空结果的可能性。

  1. 获取项目时未正确传递语言版本。
  2. 项目的路径可能不正确
  3. 上下文数据库可能是错误的,数据可能在主数据库中,但您引用的是 Web 数据库。
  4. 尝试使用 按项目 ID 获取项目。
  5. 同一项目可能有不同的版本,并且您轻描淡写地获取了具有空值的错误版本

尝试将查询更改为:返回 Sitecore.Context.Database.GetItem(itemPath, Sitecore.Context.Language(;如果未指定语言,则返回的项目可能使用与上下文中的语言不同的语言,因此数据为空。

此致敬意Łukasz Skowroński

谢谢大家的建议。问题是有一个 另一个站点配置文件 .Stil没有解释意外行为,但至少我解决了这个问题。

相关文章: