Интеграция Umbraco 8 в существующее решение.NET
В настоящее время мы работаем над решением.NET, которое содержит чистый проект MVC. В начале все было хорошо. Тем не менее, содержание, кажется, будет часто меняться.
Я думаю, что лучше сделать несколько блоков контента и статических страниц в CMS. Это может быть список сообщений для блоков CMS и страница CMS для статической страницы.
Моя команда выбирает Умбрако. Наибольшая сложность заключается в интеграции системы CMS в блок.
Я пытался следовать этому руководству: https://24days.in/umbraco-cms/2016/adding-umbraco-to-existing-site/. Тем не менее, у меня есть некоторые проблемы, такие как:
- Я не знаю, как переписать маршрут после перемещения контроллера
- Система всегда сообщает мне об этой ошибке: System.Net.Http.Formatting -> Я пытался установить, но, похоже, пакет не существует.
- Учебник устарел. Структура проекта, похоже, изменилась.
- Исходные файлы пропали.
Я не знаю, есть ли какие-либо рекомендации и новые учебники для этой ситуации. Я мог бы застрять в установке зависимостей. Надеюсь, я смогу получить несколько советов от вас, ребята, чтобы я мог продолжить.
2 ответа
- Вы не платите, чтобы получить лицензию на Umbraco, это бесплатное программное обеспечение с открытым исходным кодом.
- V8 был выпущен только на прошлой неделе и совершенно новая версия, многое было переписано
- Эта статья относится к V7, поэтому вы должны ожидать, что это сработает, а не v8
- Удачи:-)
- Учебник устарел. Структура проекта, похоже, изменилась.
Umbraco v8 все еще довольно новый, и, как вы сказали, большая часть документации устарела. Вы можете проверить текущее состояние документации здесь.
Кроме этого, вы можете скачать исходный код из Git и проверить, как все это делается, но это может быть очень трудоемким.
- Я не знаю, как переписать маршрут после перемещения контроллера
Если я правильно понимаю, вы хотите иметь свой собственный контроллер, со своим собственным маршрутом.
Umbraco имеет собственную реализацию global.asax и перезаписывает маршруты по умолчанию. Обычный класс маршрутизации не выполняется, вы должны добавить свои маршруты при запуске приложения.
Мне удалось сделать это с созданием User Composer. Пользовательские композиторы сочиняют после основных композиторов и до финального композитора.
(Ниже я создаю IComposer
, но IUserComposer
тоже должно работать.)
public class ApplicationEventComposer : IComposer
{
public void Compose(Composition composition)
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
В этом вы можете зарегистрировать свой собственный RouteConfig, Bundles и т. Д. Просто будьте осторожны, легко испортить маршруты Umbraco...
Вот пример для добавления нового контроллера под названием TestController:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Test",
url: "Test/{action}/{id}",
defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
);
}
}