Razor umbracoFile属性为空

Razor umbracoFile属性为空,razor,umbraco,Razor,Umbraco,我成功地将Umbraco从4.0.3升级到4.11.10。在旧版本中,我有100个xslt文件,在umbracoSettings.config文件中,我使用了“UseLegacyXmlSchema”表示正确。除了我在下面写了一个简单的razor宏,并注意到@photo.umbraco文件总是空的或空的以外,一切都正常。我找到了这篇文章,但解决方案有点混乱。我想知道是否有人能帮上忙 @using umbraco.MacroEngines @inherits umbraco.MacroEngines

我成功地将Umbraco从4.0.3升级到4.11.10。在旧版本中,我有100个xslt文件,在umbracoSettings.config文件中,我使用了“UseLegacyXmlSchema”表示正确。除了我在下面写了一个简单的razor宏,并注意到@photo.umbraco文件总是空的或空的以外,一切都正常。我找到了这篇文章,但解决方案有点混乱。我想知道是否有人能帮上忙

@using umbraco.MacroEngines
@inherits umbraco.MacroEngines.DynamicNodeContext            
@{
//Check the currentpage has a value in the property 'photos'
if (Model.HasValue("sliderImages"))
{

    var MediaFolder = Library.MediaById(Model.sliderImages);

            <ul>

              @foreach (var photo in MediaFolder.Children)
                {
                 <li >
                        <img src="@photo.umbracoFile" alt="@photo.Name"  />

                 </li>
                }

            </ul>

      }
@使用umbraco.MacroEngines
@继承umbraco.MacroEngines.dynamicontext
@{
//检查currentpage在属性“photos”中是否有值
if(Model.HasValue(“幻灯片图像”))
{
var MediaFolder=Library.MediaById(Model.sliderImages);
    @foreach(MediaFolder.Children中的var照片) {
  • }
}
}

在4.7版之前(我认为),对
媒体
项的每次渲染都会调用数据库。该模型更改为将所有媒体索引到Lucene索引中,方法与内容节点非常相似,然后图像的每次渲染都只调用索引。这当然大大加快了速度

在升级过程中,媒体文件可能没有索引。内容已经被编入索引,所以这不会成为问题。所以,解决办法就是重新发布整个网站。这将确保内容引用的任何图像都被索引。

在4.7版之前(我认为),媒体项的每次呈现都会调用数据库。该模型更改为将所有媒体索引到Lucene索引中,方法与内容节点非常相似,然后图像的每次渲染都只调用索引。这当然大大加快了速度


在升级过程中,媒体文件可能没有索引。内容已经被编入索引,所以这不会成为问题。所以,解决办法就是重新发布整个网站。这将确保内容引用的任何图像都被索引。

我知道这是旧的,但由于我刚刚遇到了这个问题,我想我应该将其添加到重新发布媒体节点中,我发现唯一可行的方法是对给定的父节点进行排序和保存,重新发布整个站点似乎只是重新发布内容节点。我按字母顺序对遇到此问题的文件的父媒体目录进行排序,然后保存新的顺序-这允许再次在razor中引用.umbraco文件(即受影响文件的属性不再为空,而是按预期包含路径)


在我的例子中,
已经设置为false,重建索引也不起作用。

我知道这是一个老问题,但由于我刚刚遇到了这个问题,我想我应该添加它来重新发布媒体节点,我发现唯一有效的方法是对给定的父节点进行排序和保存,重新发布整个站点似乎只是重新发布内容节点。我按字母顺序对遇到此问题的文件的父媒体目录进行排序,然后保存新的顺序-这允许再次在razor中引用.umbraco文件(即受影响文件的属性不再为空,而是按预期包含路径)


在我的例子中,
已设置为false,重建索引也不起作用。

我偶尔会遇到这种情况,这通常是检查的问题。重新保存媒体文件是我修复它的原因。通常我会编写一个脚本来遍历它们并保存它们。我偶尔会遇到这种情况,这通常是检查的问题。重新保存媒体文件是我修复它的原因。通常我会写一个脚本来遍历它们并保存它们。谢谢你的评论。我尝试重新发布以下内容,但似乎没有任何区别。AFAIK仅重新发布内容节点,不包括媒体节点。感谢您的评论。我尝试重新发布以下内容,但似乎没有任何区别。AFAIK仅重新发布内容节点,不包括媒体节点。非常感谢此解决方案!我只需要在媒体树中的每个文件夹上都这样做。有很多文件夹。我现在很生气。你知道这个bug被记录了吗?非常感谢这个解决方案!我只需要在媒体树中的每个文件夹上都这样做。有很多文件夹。我现在很生气。这个错误被记录了吗?你知道吗?