我有一个客户希望为他的网站设计单页设计,当用户浏览网站时,每个“页面”的内容都会显示/隐藏。使用Orchard CMS的单页面设计
我不确定使用Orchard的最佳方法。一种选择是将内容全部放在单个页面内容项目上,但是然后你失去了使用Orchard的导航功能的能力,并且不能让客户考虑页面管理。
有没有人有想法或经验如何最好地设置在果园CMS?
这是我使用了基于Bertrand的建议的解决方案:
public ActionResult Display(int id)
{
var contentItem = _contentManager.Get(id, VersionOptions.Published);
dynamic model = _contentManager.BuildDisplay(contentItem);
var ctx = _workContextAccessor.GetContext();
ctx.Layout.Metadata.Alternates.Add("Layout_Null");
return new ShapeResult(this, model);
}
我创建一个新的模块与包含高于动作方法的控制器。操作方法采用内容部件ID的参数。 _contentManager和_workContextAccessor对象被注入到控制器中。 Layout.Null.cshtml视图的创建与Bertrand的建议完全相同。
这是一个非常奇怪的设计,似乎飞在面对搜索引擎优化和所有已知的可用性。什么理由呢? –
看起来您正在开发移动应用程序,对吗? jQuery Mobile? –
@BertrandLeRoy:我不一定不同意。这是客户想要的(特别是他们希望我实现这个模板:http://udfrance.com/dev/STUDIO8/index_black.html)。该网站内容非常淡,搜索引擎优化不是主要目的。 – joshb