Интеграция Sitecore MVC
Эта статья написана разработчиками Sitecore и содержит информацию о том, как интегрировать Sitecore с MVC.
Введение
Эта статья посвящена интеграции MVC с Sitecore. Мы расскажем о различных способах установки Sitecore. Мы также рассмотрим развертывание веб-сайта. Внедрение, отображенное в этой статье, предназначено для образовательных целей. Ожидается, что читатели будут внедрять их, используя все наилучшие методы, которые им известны.
Предпосылки
Почему написана эта статья?
При общении с разработчиками мы выяснили, что они знают, кто должен создавать рендеринг контроллера, но не знают, как sitecore интегрирован с MVC.
Кто может читать эту статью?
Эта статья предназначена для всех разработчиков с базовыми знаниями Sitecore.
Описание:
Каждый разработчик Sitecore знает, как написать код для рендеринга контроллера в Sitecore. Мы почти никогда не получали изменений, чтобы реализовать сайт sitecore с нуля. Обычно это делается Техническим архитектором или Техническим руководителем в крупных фирмах и руководителем группы в сфере малого бизнеса. Будучи разработчиком, мы никогда не сталкивались с ситуацией разработки приложения Sitecore от Scratch.
Почему мы должны знать, как разрабатывать приложение Sitecore с нуля?
Зачастую мы не знаем, как работает архитектура, и мы продолжаем проводить длительные отладки и все же не можем найти ответ. Затем мы позвоним нашему старшему, чтобы проверить проблему. Он просто подходит к вашему столу и, глядя на код, он рассказывает вам, в чем проблема, и что вы должны сделать, чтобы решить эту проблему.
Если мы знаем, как работает архитектура, максимальные проблемы могут быть отсортированы самим разработчиком.
Использование кода
Реализация:
Чтобы интегрировать Sitecore с MVC, в основном нам нужно выполнить следующие шаги:
- Установите сайт из Sitecore.exe или разверните веб-сайт вручную.
- Создайте проект MVC.
- Измените проект MVC для работы с Sitecore.
- Установите веб-сайт из файла Sitecore.exe или .zip
Перейдите в папку, если вы сохранили файл .exe файла sitecore.
В этом файле вы также найдете файл лицензии. В нашем случае он находится в папке POC.
Дважды щелкните файл Sitecore.exe. Вам будет показан следующий экран.
Нажмите "Далее". Вам будет предоставлен следующий экран, чтобы узнать, как вы хотите осущетвить установку. По умолчанию выбранным будет новый экземпляр. Если вы уже установили какой-либо экземпляр раньше, вы можете удалить его с помощью существующего экземпляра.
Нажмите "Далее". Вам будет предложено принять условия, как показано ниже.
Прочтите лицензионное соглашение и выберите “I accept” , нажмите «Далее».
По умолчанию будет выбрана кнопка «Завершить». Остальные два варианта - это когда мы хотим, чтобы сервер доставки контента (CD) отличался от сервера управления контентом (CM), чтобы серверы отличались друг от друга. Мы не будем углубляться в CD и CM в этой статье.
Нажмите "Далее".
На приведенном выше экране мастера введите имя экземпляра. Нажмите "Далее".
В указанном выше мастере вам будет предложено просмотреть файл лицензии. Нажмите "Далее".
В приведенном выше мастере под сервером базы данных была только что упомянута точка (.). Точка - это локальный экземпляр. Вы также можете ввести имя своего экземпляра SQL Server, подчеркнутое в приведенном выше кратком экране. Нажмите "Далее".
Вышеупомянутый мастер покажет вам путь, через который будет создан ваш сайт. Вы можете изменить путь, если хотите, но мы бы рекомендовали сохранить путь под Inetpub/wwwroot. Нажмите "Далее".
В поле Web Site Name введите имя домена веб-сайта по вашему выбору. Я оставил бы его как есть. Нажмите "Далее".
Нажмите Install. Начнется процесс установки. После успешного завершения процесса установки вы увидите следующий экран.
Установите флажок на Launch Sitecore. И нажмите Finish.
После этого вы увидите экран по умолчанию. Пропустите указанные ниже шаги, поскольку вы успешно установили сайт Sitecore.
Для других, кто получил экран с ошибками, следуйте далее.
Если вы получили следующий экран:
Перейдите в папку C: \ Windows \ System32 \ drivers \ etc и проверьте, введено ли ваше доменное имя в файле hosts. Самый быстрый способ добраться до этой папки - нажать клавишу окна + R, записать драйверы, как показано ниже.
Введите имя домена, как показано ниже.
Нажмите CTRL + F5. Сайт требует времени для загрузки. Затем вы сможете увидеть следующий экран.
Теперь вы успешно завершили установку sitecore.
Примечание. Чтобы быть в безопасности при попытке установить его в первый раз, просто зайдите в папку, где теперь установлен ваш веб-сайт, скопируйте папку веб-сайта. В случае, если что-то пойдет не так, вы всегда можете заменить этот резервный веб-сайт и начать заново.
Если вы сейчас проверите путь, на котором установлен ваш сайт, вы увидите папки.
“C:\Inetpub\wwwroot\SunilPOC”
1 – Data
2 – Database
3 - Website.
Папка Data содержит файл лицензии. Database содержит MDF и LDF-файл для вашей БД, а Website содержит всю информацию, необходимую для запуска веб-сайта.
Чтобы интегрировать Sitecore с MVC, мы будем использовать папку Website.
2 Создание проекта MVC
После создания сайта Sitecore мы создадим MVC Project. Откройте Visual Studio, перейдите в File -> New-> Project и выберите веб-приложение ASP.Net (.net Framework). Учитывая соответствующее имя приложения. В нашем случае будет указано то же имя, что и у нашего сайта.
Нажмите ОК. Вы увидите следующий экран.
На приведенном выше экране выберите Empty Template с опцией MVC /. И нажмите ОК. Обозреватель решений будет похож на приведенный ниже экран.
Теперь добавьте новую папку с именем Lib в ваше веб-приложение, чтобы мы могли загружать или вставлять внешние DLL, которые могут быть ссылкой в проекте.
Перейдите в папку bin, где установлен веб-сайт. В нашем случае это “C:\Inetpub\wwwroot\SunilPOC\Website\bin”.
Скопируйте Sitecore.Kernel и Sitecore.MVC в эту новую папку в своем приложении. Затем укажите его в своем приложении, как показано ниже.
В файле Global.asax.cs измените наследование, как показано ниже.
Измените наследование с System.Web.HttpApplication на Sitecore.Web.Application
using System.Web.Mvc;
using System.Web.Routing;
namespace SunilPOC
{
public class MvcApplication : Sitecore.Web.Application
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
}
Перейдите на вкладку RegisterRouts, присутствующую в App_Start, и прокомментируйте маршрут по умолчанию
//routes.MapRoute(
// name: "Default",
// url: "{controller}/{action}/{id}",
// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//);
Перейдите в место, где вы установили sitecore. В нашем случае это C:\Inetpub\wwwroot\SunilPOC\Website.
Здесь вы найдете файл Web.config. Скопируйте данные Web.config с установленного веб-сайта sitcore и вставьте его в файл MVC приложения Web.config.
Резюме:
- После установки сайта Sitecore добавьте ссылку на DLL Sitecore.Kernel и Sitecore.MVCin в ваше приложение MVC.
- Перейдите к файлу Global.asax.cs, чтобы изменить наследование из System.web.HttpApplication в Sitecore.Web.Application.
- Прокомментируйте маршрут по умолчанию под RegisterRoute.cs в папке App_Start.
- Скопируйте данные файла Web.config с сайта sitecore и вставьте его в файл Web.config в приложении MVC.
- Создайте приложение в режиме отладки (обязательно).
- Опубликуйте его в папке сайта Sitecore.