本文整理汇总了C#中SitecoreContext.GetItem方法的典型用法代码示例。如果您正苦于以下问题:C# SitecoreContext.GetItem方法的具体用法?C# SitecoreContext.GetItem怎么用?C# SitecoreContext.GetItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SitecoreContext
的用法示例。
在下文中一共展示了SitecoreContext.GetItem方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FieldWithSpacesReturningNullIssue
public void FieldWithSpacesReturningNullIssue()
{
/*
* This test is in response to issue 53 raised on the Glass.Sitecore.Mapper
* project. When two interfaces have similar names are created as proxies
* the method GetTypeConfiguration returns the wrong config.
*/
//Assign
string path = "/sitecore/content/Tests/Misc/FieldWithSpace";
string expected = "Hello space";
string imageValue =
"<image mediaid=\"{C2CE5623-1E36-4535-9A01-669E1541DDAF}\" mediapath=\"/Tests/Dayonta\" src=\"~/media/C2CE56231E3645359A01669E1541DDAF.ashx\" />";
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var item = db.GetItem(path);
using (new ItemEditing(item, true))
{
item["Field With Space"] = expected;
item["Image Field"] = imageValue;
}
var scContext = new SitecoreContext(db);
var glassHtml = new GlassHtml(scContext);
//Act
var instance = scContext.GetItem<FieldWithSpaceIssue>(path);
//Assert
Assert.AreEqual(expected, instance.FieldWithSpace);
Assert.IsNotNull(instance.ImageSpace);
}
示例2: ItemPropertySave_SavesItemOnProperty_SetsField
public void ItemPropertySave_SavesItemOnProperty_SetsField()
{
/*
* Tests that we can save to an item property.
*/
//Assign
var context = Context.Create(Utilities.CreateStandardResolver());
var db = Factory.GetDatabase("master");
var scContext = new SitecoreContext(db);
string path = "/sitecore/content/Tests/Misc/ItemPropertySave";
var expected = "some expected value";
var item = db.GetItem(path);
using (new ItemEditing(item, true))
{
item["Field1"] = string.Empty;
}
var instance = scContext.GetItem<ItemPropertySaveStub>(path);
//Act
instance.Field1 = expected;
using (new SecurityDisabler())
{
scContext.Save(instance);
}
//Assert
Assert.AreEqual(expected, instance.Item["Field1"]);
}
示例3: InterfaceIssueInPageEditorWhenInterfaceInheritsFromAnInterfaceWithSimilarName
public void InterfaceIssueInPageEditorWhenInterfaceInheritsFromAnInterfaceWithSimilarName()
{
/*
* This test is in response to issue 53 raised on the Glass.Sitecore.Mapper
* project. When two interfaces have similar names are created as proxies
* the method GetTypeConfiguration returns the wrong config.
*/
//Assign
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var scContext = new SitecoreContext(db);
var glassHtml = new GlassHtml(scContext);
var instance = scContext.GetItem<IBasePage>("/sitecore");
//Act
glassHtml.Editable(instance, x => x.Title);
//This method should execute without error
}
示例4: RenderImage_MatchesSitecoreOutput_Issue133
public void RenderImage_MatchesSitecoreOutput_Issue133()
{
//Assign
string targetPath = "/sitecore/content/Tests/GlassHtml/RenderImage/Target";
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
var service = new SitecoreContext(db);
var html = new GlassHtml(service);
string fieldValue= "<image mediaid=\"{D897833C-1F53-4FAE-B54B-BB5B11B8F851}\" mediapath=\"/Files/20121222_001405\" src=\"~/media/D897833C1F534FAEB54BBB5B11B8F851.ashx\" hspace=\"15\" vspace=\"20\" />";
var item = db.GetItem(targetPath);
var field = item.Fields["Image"];
using (new ItemEditing(item, true))
{
field.Value = fieldValue;
}
var model = service.GetItem<StubClassWithImage>(targetPath);
var scControl = new Sitecore.Web.UI.WebControls.Image();
scControl.Item = item;
scControl.Field = "Image";
scControl.Parameters = "mw=200";
var doc = new XmlDocument();
doc.LoadXml("<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
siteContext.SetDisplayMode(DisplayMode.Normal);
Sitecore.Context.Site = siteContext;
StringBuilder sb = new StringBuilder();
HtmlTextWriter writer = new HtmlTextWriter(new StringWriter(sb));
//Act
scControl.RenderControl(writer);
var scResult = sb.ToString();
var result = html.RenderImage(model, x => x.Image, new {mw=200});
//Assert
Assert.AreEqual(result,scResult);
}
示例5: DropSave
public void DropSave()
{
ISitecoreContext context = new SitecoreContext();
DemoItem current = context.GetCurrentItem<DemoItem>();
OtherItem other = context.GetItem<OtherItem>("/sitecore/content/home/someOtherItem");
current.Drop = other;
context.Save(current);
}
示例6: Editable_InEditMode_StringFieldWithEditReturned
public void Editable_InEditMode_StringFieldWithEditReturned()
{
//Assign
string targetPath = "/sitecore/content/Tests/GlassHtml/MakeEditable/Target";
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
var service = new SitecoreContext(db);
var html = new GlassHtml(service);
var model = service.GetItem<StubClass>(targetPath);
var fieldValue = "test content field";
model.StringField = fieldValue ;
using (new SecurityDisabler())
{
service.Save(model);
}
var doc = new XmlDocument();
doc.LoadXml("<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
siteContext.SetDisplayMode(DisplayMode.Edit);
Sitecore.Context.Site = siteContext;
//Act
string result;
using (new SecurityDisabler())
{
result = html.Editable(model, x => x.StringField);
}
//Assert
Assert.IsTrue(result.Contains(fieldValue));
//this is the webedit class
Assert.IsTrue(result.Contains("scWebEditInput"));
Console.WriteLine("result "+result);
}
示例7: RenderLink_LinkContainsAnchor_Issue155
public void RenderLink_LinkContainsAnchor_Issue155()
{
//Assign
string targetPath = "/sitecore/content/Tests/GlassHtml/MakeEditable/Target";
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
var service = new SitecoreContext(db);
var html = new GlassHtml(service);
string fieldValue = "<link text='text' linktype='anchor' anchor='footer' title='' class='' />";
string expected = "<a href='#footer' >text</a>";
var item = db.GetItem(targetPath);
var field = item.Fields["StringField"];
using (new ItemEditing(item, true))
{
field.Value = fieldValue;
}
var model = service.GetItem<IStubLinkClass>(targetPath);
var doc = new XmlDocument();
doc.LoadXml("<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
siteContext.SetDisplayMode(DisplayMode.Normal);
Sitecore.Context.Site = siteContext;
StringBuilder sb = new StringBuilder();
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
Assert.AreEqual(expected, result);
}
示例8: MultiTreeRead
public void MultiTreeRead()
{
ISitecoreContext context = new SitecoreContext();
DemoItem current = context.GetCurrentItem<DemoItem>();
OtherItem forRemoval = current.Multi.First();
current.Multi.Remove(forRemoval);
OtherItem toAdd = context.GetItem<OtherItem>("/sitecore/content/home/someOtherItem");
current.Multi.Add(toAdd);
context.Save(current);
}
示例9: OrderOfIgnoreIssue2_ConfiguredShouldBeSet_TitleShouldBeIgnored
public void OrderOfIgnoreIssue2_ConfiguredShouldBeSet_TitleShouldBeIgnored()
{
//Assign
string path = "/sitecore/content/Tests/Misc/FieldConfigOrder";
string expected = "Hello space";
var fluentConfig = new SitecoreFluentConfigurationLoader();
var typeConfig = fluentConfig.Add<FieldOrderOnIgnore>();
typeConfig.AutoMap();
typeConfig.Field(x => x.ConfiguredTitle).FieldName("Title");
typeConfig.Ignore(x => x.Title);
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(fluentConfig);
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var item = db.GetItem(path);
using (new ItemEditing(item, true))
{
item["Title"] = expected;
}
var scContext = new SitecoreContext(db);
//Act
var instance = scContext.GetItem<FieldOrderOnIgnore>(path);
//Assert
Assert.AreEqual(expected, instance.ConfiguredTitle);
Assert.IsNullOrEmpty(instance.Title);
}
示例10: Editable_ComplexLambdaInEditMode_StringFieldWithEditReturned
public void Editable_ComplexLambdaInEditMode_StringFieldWithEditReturned()
{
//Assign
string targetPath = "/sitecore/content/target";
var templateId = ID.NewID;
using (Db database = new Db
{
new DbTemplate(templateId)
{
new DbField("StringField")
{
Type = "text"
}
},
new Sitecore.FakeDb.DbItem("Target", ID.NewID, templateId)
{
{"StringField", ""}
}
})
{
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new OnDemandLoader<SitecoreTypeConfiguration>(typeof(StubClass)));
var service = new SitecoreContext(database.Database);
var html = GetGlassHtml(service);
var model = service.GetItem<StubClass>(targetPath);
var fieldValue = "test content field";
model.StringField = fieldValue;
using (new SecurityDisabler())
{
service.Save(model);
}
var doc = new XmlDocument();
doc.LoadXml(
"<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
using (new EnableWebEditMode())
{
using (new SiteContextSwitcher(siteContext))
{
//Act
string result;
using (new SecurityDisabler())
{
result = html.Editable(model, x => x.EnumerableSubStub.First().StringField);
}
//Assert
Assert.IsTrue(result.Contains(fieldValue));
Console.WriteLine("result " + result);
//this is the webedit class
Assert.IsTrue(result.Contains("scWebEditInput"));
}
}
}
}
示例11: RenderLink_LinkContainsAnchor_Issue155
public void RenderLink_LinkContainsAnchor_Issue155()
{
//Assign
string path = "/sitecore/content/target";
using (Db database = new Db
{
new Sitecore.FakeDb.DbItem("Target")
{
{"StringField","" }
}
})
{
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new OnDemandLoader<SitecoreTypeConfiguration>(typeof(StubClass)));
var service = new SitecoreContext(database.Database);
var html = GetGlassHtml(service);
string fieldValue = "<link text='text' linktype='anchor' anchor='footer' title='' class='' />";
string expected = "<a href='#footer' >text</a>";
var item = database.GetItem(path);
var field = item.Fields["StringField"];
using (new ItemEditing(item, true))
{
field.Value = fieldValue;
}
var model = service.GetItem<IStubLinkClass>(path);
var doc = new XmlDocument();
doc.LoadXml(
"<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
siteContext.SetDisplayMode(DisplayMode.Normal);
Sitecore.Context.Site = siteContext;
StringBuilder sb = new StringBuilder();
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result,"a");
}
}
示例12: RenderImage_MatchesSitecoreOutput_Issue133_Test3
public void RenderImage_MatchesSitecoreOutput_Issue133_Test3()
{
//Assign
string targetPath = "/sitecore/content/target";
var mediaID = new ID("{D897833C-1F53-4FAE-B54B-BB5B11B8F851}");
var templateId = ID.NewID;
using (Db database = new Db
{
new DbTemplate("MediaTemplate", templateId)
{
new DbField("Image")
{
Type = "image"
}
},
new Sitecore.FakeDb.DbItem("Target", new ID(), templateId)
{
{"Image", ""}
},
new Sitecore.FakeDb.DbItem("media", mediaID)
{
}
})
{
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new OnDemandLoader<SitecoreTypeConfiguration>(typeof(StubClass)));
var service = new SitecoreContext(database.Database);
var html = GetGlassHtml(service);
Sitecore.Resources.Media.MediaProvider mediaProvider =
NSubstitute.Substitute.For<Sitecore.Resources.Media.MediaProvider>();
mediaProvider
.GetMediaUrl(Arg.Is<Sitecore.Data.Items.MediaItem>(i => i.ID == mediaID))
.Returns("/myimage");
using (new Sitecore.FakeDb.Resources.Media.MediaProviderSwitcher(mediaProvider))
{
string fieldValue =
"<image mediaid=\"{D897833C-1F53-4FAE-B54B-BB5B11B8F851}\" mediapath=\"/Files/20121222_001405\" src=\"~/media/D897833C1F534FAEB54BBB5B11B8F851.ashx\" hspace=\"15\" vspace=\"20\" />";
var item = database.GetItem(targetPath);
var field = item.Fields["Image"];
using (new ItemEditing(item, true))
{
field.Value = fieldValue;
}
var model = service.GetItem<StubClassWithImage>(targetPath);
var scControl = new Sitecore.Web.UI.WebControls.Image();
scControl.Item = item;
scControl.Field = "Image";
scControl.Parameters = "width=200&as=true";
var doc = new XmlDocument();
doc.LoadXml(
"<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
siteContext.SetDisplayMode(DisplayMode.Normal);
Sitecore.Context.Site = siteContext;
StringBuilder sb = new StringBuilder();
HtmlTextWriter writer = new HtmlTextWriter(new StringWriter(sb));
//Act
scControl.RenderControl(writer);
var scResult = sb.ToString();
var result = html.RenderImage(model, x => x.Image, new { width = 200 });
//Assert
Assert.AreEqual(result, scResult);
}
}
}
示例13: GetTypedMediaFolderModel
public static MediaFolderModel GetTypedMediaFolderModel(Guid mediaFolderGuid)
{
ISitecoreContext context = new SitecoreContext();
return context.GetItem<MediaFolderModel>(mediaFolderGuid);
}
示例14: GetPastAgendaItemsForPerson
public static IEnumerable<AgendaModel> GetPastAgendaItemsForPerson(PersonModel model)
{
ISitecoreContext context = new SitecoreContext();
var archiveItem = context.GetItem<AgendaOverviewModel>(new Guid("{BA01B6B5-BF68-46DE-900F-BCE1227E72B0}"));
return archiveItem.ChildrenAsAgendaItems.Where(agendaModel => agendaModel.Speakers.Any(personModel => personModel.Id.ToString() == model.Id.ToString())).ToList();
}