Tag: sitecore8

为什么我的Sitecore.Context.Language在Controller中重置?

Sitecore似乎在它的Context对象中使用语言变量做了一些奇怪的事情。 如果我使用url ?sc_Lang=ru-RU (获取我的网站的俄语版本)加载CMS页面,当它到达我的MVC控制器时,它将重置为语言返回到en public PartialViewResult Navigation() { //en var language = Sitecore.Context.Language; } 我知道sitecore确实设置了这个,因为如果我添加一个HTTP管道,我可以看到Sitecore.Context.Language为ru-RU : public class LanguageResolver { public void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { //ru-RU var language = Sitecore.Context.Language; } } 注册: 正如sitecore博客文章中所推荐的那样 我做了一些挖掘sitecore dll,我注意到Sitcore.Context.Language基本上是HttpContext.Current.Items[“sc_Language”]的包装器。 当我检查这个时,我看到相同的结果(即在管道中它是控制器中的ru-RU它是en ) 所以某处某事正在将这个HttpContext Item转为”en” 。 作为实验,我将一个新变量放入Items集合中。 然后我可以在Controller中再次看到它(在它的正确状态),因此Items集合正确地传递给控制器​​。 我最初没有开发这个网站,但我在代码库中看不到任何改变这个语言变量的地方。 还有其他人经历过这个吗? 我错过了什么? 我需要配置什么,检查? sitecore文档(像往常一样)在这个问题上非常糟糕。 要跟进@jammykam的评论: 我可以看到lang cookie响应Set-Cookie: redrow#lang=ru-RU; path=/ Set-Cookie: redrow#lang=ru-RU; […]

如何unit testing使用Sitecore.Context.Item的GlassController动作

我是sitecore开发人员,我想创建一个示例sitecore螺旋unit testing项目,用于测试您在“ArticleController”控制器的Index()操作方法中看到的逻辑: public class ArticleController : GlassController { public override ActionResult Index() { // If a redirect has been configured for this Article, then redirect to new location. if (Sitecore.Context.Item.Fields[SitecoreFieldIds.WTW_REDIRECT_TO] != null && !string.IsNullOrEmpty(Sitecore.Context.Item.Fields[SitecoreFieldIds.WTW_REDIRECT_TO].Value)) { var link = (LinkField)Sitecore.Context.Item.Fields[SitecoreFieldIds.WTW_REDIRECT_TO]; if (link != null) { if (link.IsInternal) { return Redirect(Sitecore.Links.LinkManager.GetItemUrl(link.TargetItem)); } else { return Redirect(link.Url); } […]

Sitecore页面编辑器中保存返回错误

在页面编辑器中保存页面时出现错误。不知何故,当我从演示文稿>详细信息编辑页面并在页面编辑器中显示它时工作正常..错误日志在下面这里.. ERROR After parsing a value an unexpected character was encountered: {. Path ‘scLayout’, line 38, position 85. Exception: Newtonsoft.Json.JsonReaderException Message: After parsing a value an unexpected character was encountered: {. Path ‘scLayout’, line 38, position 85. Source: Newtonsoft.Json at Newtonsoft.Json.JsonTextReader.ParsePostValue() at Newtonsoft.Json.JsonTextReader.ReadInternal() at Newtonsoft.Json.JsonTextReader.Read() at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String […]