我的网站核心项目“CurrentItem
”包含字段“image
”。我正在从代码后面编辑它,如下所示:
//Get the Image from /sitecore/media library/Images/Test
Item imageItem = Sitecore.Context.Database.GetItem("{AEBB3071-3462-405C-9CD3-A2B515B343D1}")
//Edit
CurrentItem.Editing.BeginEdit();
CurrentItem["image"] = imageItem.ToString();
CurrentItem.Editing.EndEdit();
PS: imageItem
是/sitecore/media library/Images/Test
下的图片
我也试过CurrentItem["image"] = imageItem.Paths.Path;
但是仍然没有运气。
答案 0 :(得分:6)
您需要将该字段设为ImageField
并将MediaID属性设置为MediaItem的ID:
//Get the Image from /sitecore/media library/Images/Test
Sitecore.Data.Items.MediaItem imageItem = Sitecore.Context.Database.GetItem("{AEBB3071-3462-405C-9CD3-A2B515B343D1}")
//Edit
CurrentItem.Editing.BeginEdit();
var imageField = CurrentItem.Fields["image"] as ImageField;
imageField.MediaID = imageItem.ID;
imageField.MediaPath = imageItem.MediaPath;
CurrentItem.Editing.EndEdit();
另外,您可以查看this博文,了解有关6.X版本的更多解释。
答案 1 :(得分:2)
您可以使用Sitecore.Data.Fields.ImageField类更新Image字段。例如, 更新Master中/ Sitecore / Content / Home项目中名为ImageField的Image字段 数据库到/ Sitecore /媒体库/图像/示例图像:
#include<iostream.h>
namespace first_space{
int first_var;
}
namespace second_space{
int first_var = 1;
}
int main()
{
cout<<"Hello World"<<endl;
cout<<"First Namespace Variable using namespace identifier:"<<first_space::first_var<<endl;
using namespace first_space;
cout<<"First Namespace Variable using using identifier:"<<first_var<<endl;
using namespace second_space;
cout<<"Second Namespace Variable using using identifier:"<<first_var<<endl;
}
请在4.1.7如何访问图像字段
上查看https://sdn.sitecore.net/upload/sitecore6/64/content_api_cookbook-usletter.pdf