Visual Studio에서 모든보기를 자신의 폴더에 넣었으므로 내용이 더 이상 렌더링되지 않습니다. 어디에서 렌더링을위한 경로를 설정해야합니까?Umbraco 7 : 참조/별도의 폴더에있는보기에 대한 경로 설정
0
A
답변
1
Umbraco 템플릿은 ~/View 폴더에 있습니다. 그들이 다른 곳에 살면 백 오피스에서 툴링 지원을 잃어 버리게됩니다 (그리고 프로젝트를 픽업하는 다른 Umbraco 개발자를 혼란스럽게합니다!).
그러나 폴더 이름이 문서 유형의 이름과 일치하면 각 문서 유형에 대한 컨트롤러를 만들 수 있습니다 (즉, 라우팅 하이재킹). 이것은 Umbraco가 하위 폴더를 체크인 할 수있게 해 줄 것입니다. 나는 싱글 코어 Umbraco (7)와 다중 사이트를하고 있어요
1
는 여기이 순간에 있음을 처리하고있어 방법은 다음과 같습니다
는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();
}
}
}
는 아래 /보기/MyController에의 /를 surfacecontroller에 대해 확실히한다. RenderMvcController – dampee
에 대한 확신이 없으므로 멀티 사이트 구현을위한 솔루션은 무엇입니까? 동일한 Umbraco 프로젝트에서 10 개의 사이트를 수행해야한다고 할 수 있습니까? – alex
Phew, 음 ... 여기에 설명 된 경로를 무시할 수 있습니다. http://shazwazza.com/post/Custom-MVC-routing-in-Umbraco. 그러나 먼저 하이브리드 프레임 워크와 같은 오버 - 아치 (over-arching) 방식을 고려해야합니다. 대량의 많은 작업을 수행하기 위해 자체 기본 컨트롤러를 구현하십시오. 개인적으로, 피할 수없는 경우 사이트 당 컨트롤러를 접두어로 사용하고 사이트에서 기능을 복제해야하는 기본 컨트롤러를 상속받습니다. – Digbyswift