【问题标题】:Sitecore Item Field Value EmptySitecore 项目字段值空
【发布时间】:2016-02-12 16:15:42
【问题描述】:

稍后更新 所以,花了一些时间试图解决这个问题,我得到了这个: 在 sitecore.config 中有一个部分用于定义您的网站。当我尝试设置自定义登录页面时,我将“loginPage”属性添加到“网站”站点元素,但它不起作用。

在某一时刻,我意识到我必须将名称从“website”更改为“myhost_name”,登录页面开始按预期工作,但事实证明,删除“website”站点元素并不是一件好事想法,因为该网站开始出现这种不稳定的行为。

有谁知道这种情况下的正确设置是什么?在这件事上,我没有找到要明确的 Sitecore 文档。

谢谢


我有以下问题(我是 Sitecore 开发的新手,所以这可能是一些简单的事情,但我无法弄清楚)

我有一些错误消息的模板,我将在网站上显示,并且我在内容下有一个文件夹,用于存储这些项目

我在模板上添加了 3 个字段: - 类型 - 结果键 - 留言

都是单行文字

现在,在 Visual Studio 中,我有一个执行此操作的例程:

/// <summary>
/// Get an Item by path
/// </summary>
public Item GetItemByPath(string itemPath)
{
    return Sitecore.Context.Database.GetItem(itemPath);
}

我还有另一个应该返回 ViewModel

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);
}

问题: 项目返回,所有字段都到位了,但是我的字段值是""(String.Empty)

我做错了什么? 这些项目在 Sitecore 中有值并且它们已发布(我检查了 Web 数据库)

上下文 站点核心 8.1 VS 2013 MVC 5.2.3

谢谢

【问题讨论】:

  • 您确定您的itemPath 将返回正确的项目吗?
  • 您需要发布吗?首次亮相的上下文数据库是什么?
  • 您确定输入的值是您在前端使用的语言版本吗?
  • 当我调试它时,我在正确的项目上,语言是预期的,上下文数据库是 web
  • 调试器点击GetMessageByName时,“Message”字段存在且为空?您是否尝试过以管理员身份打开 Sitecore 并将数据库更改为 web.xml。然后去查找该项目并确保消息字段中有数据。

标签: c# sitecore


【解决方案1】:

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

  1. 获取项目时未正确传递语言版本。
  2. 项目的路径可能不正确
  3. 上下文数据库可能有误,数据可能在主数据库中,但您指的是 Web 数据库。
  4. 尝试使用通过项目 ID 获取项目。
  5. 同一项目可能有不同的版本,您可能会获取错误的版本,其中包含空值

【讨论】:

    【解决方案2】:

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

    最好的问候, Łukasz Skowroński

    【讨论】:

    • 嗨,我刚刚测试了这个,但仍然无法正常工作。它必须是带有字段名称的东西。我认为有冲突或类似的事情。这不仅仅是烦人!
    【解决方案3】:

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

    【讨论】:

    • 配置问题是什么?我在同一版本上遇到了类似的问题,但已排除列出的其他可能性。
    • sitecore.net/xmlconfig">
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多