Umbraco 7:引用/设置独立文件夹中视图的路径



我已经将所有视图放在Visual Studio中它们自己的文件夹中,现在内容不再呈现。我必须从哪里为它们设置渲染路径?

好吧,约定是Umbraco模板位于~/View文件夹中。如果他们住在其他地方,你就失去了后台的工具支持(并混淆了任何其他负责该项目的Umbraco开发人员!)。

但是,如果文件夹名称与文档类型的名称匹配,则可以为每个文档类型创建一个控制器(即劫持路由)。我确信这将允许Umbraco签入子文件夹。

我正在用单核Umbraco 7做一个多站点。以下是我目前的处理方式:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Mvc;
using Umbraco.Core;
using Umbraco.Web.Mvc;
using Umbraco.Core.Logging;
namespace MyApp.UmbracoExtensions.Shared.Events
{
    public class RegisterCustomViewEngine : ApplicationEventHandler
    {
        protected override void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            ViewEngines.Engines.Add(new CustomViewEngine());
            base.ApplicationStarting(umbracoApplication, applicationContext);
        }
    }
    public class CustomViewEngine : RazorViewEngine
    {
        private static string[] NewViewFormats = new[] {
            "~/Views/SomeFolder/{0}.cshtml",
            "~/Views/AnotherFolder/{0}.cshtml",
            "~/Views/Wiki/{0}.cshtml"
        };
        public CustomViewEngine()
        {
            base.ViewLocationFormats = base.ViewLocationFormats.Union(NewViewFormats).ToArray();
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新