Интеграция Umbraco 8 в существующее решение .NET - PullRequest
0 голосов
/ 04 марта 2019

В настоящее время мы работаем над решением .NET, которое содержит чистый проект MVC.В начале все было хорошо.Тем не менее, контент, кажется, часто меняют.

Я думаю, что лучше сделать из блоков контента и статических страниц в CMS.Это может быть список сообщений для блоков CMS и страница CMS для статической страницы.

Моя команда выбирает Umbraco.Наибольшая сложность заключается в интеграции системы CMS в блок.

Я пытался следовать этому руководству: https://24days.in/umbraco-cms/2016/adding-umbraco-to-existing-site/.Однако у меня возникли некоторые проблемы, такие как:

  1. Я не знаю, как переписать маршрут после перемещения контроллера
  2. Система всегда сообщает мне об этой ошибке: System.Net.Http.Форматирование -> Я пытался установить, но, похоже, пакет не существует.
  3. Урок устарелСтруктура проекта, похоже, изменилась.
  4. Исходные файлы пропали.

Я не знаю, есть ли какие-либо рекомендации и новые учебники для этой ситуации.Я мог бы застрять в установке зависимостей.Надеюсь, я смогу получить от вас несколько советов, чтобы я мог продолжить.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019
Урок устарел.Структура проекта, кажется, изменилась.

Umbraco v8 все еще довольно новый, и, как вы сказали, большая часть документации устарела.Вы можете проверить текущее состояние документации здесь .

Кроме этого, вы можете загрузить исходный код из Git и проверить, как это делается, но этодействительно может занять много времени.

  1. Я не знаю, как переписать маршрут после перемещения контроллера

Если я правильно понял, вы хотитеиметь собственный контроллер с собственным маршрутом.

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 }
        );
    }
}
0 голосов
/ 04 марта 2019
  1. Вы не платите, чтобы получить лицензию на Umbraco, это бесплатное программное обеспечение с открытым исходным кодом
  2. V8 был выпущен только на прошлой неделе, и совершенно новая версия, многое было переписано
  3. Эта статья относится к V7, поэтому вы должны ожидать, что это сработает, а не v8
  4. Удачи: -)
...