Слияние Orchard CMS с пользовательским сайтом электронной коммерции MVC - PullRequest
9 голосов
/ 21 июня 2011

У меня есть большой пользовательский механизм электронной коммерции, который в настоящее время использует базу данных SQL Server (хранимые процедуры, обрабатывающие большинство задач с данными), промежуточный уровень WCF (обработка бизнес-логики) и интерфейсный сайт MVC (который не знает любой базы данных). Наша потребность в системе управления контентом быстро растет, и я пытаюсь найти наилучший способ ее внедрения, учитывая наши ресурсы разработки, очень обременительные.

Сначала я подумал, что это просто два сайта, сайт Orchard CMS и наш сайт электронной коммерции. Я мог бы настроить некоторый тип маршрутизации запросов, который бы отправлял URL-адреса для просмотра каталога и функций корзины на сайт электронной коммерции, в то время как другие URL-адреса обрабатываются сайтом Orchard. Мне нужно было бы иметь несколько модулей (или виджетов), встроенных в сайт Orchard, которые отображали бы такие вещи, как сводка корзины, которая появляется в заголовке каждой страницы. Кажется, это самый простой способ справиться с этим, даже если это краткосрочный период.

Моя другая мысль - полностью построить сайт с использованием Orchard. Это потребует портирования нашей логики электронной коммерции на модули. Кажется, это было бы чертовски сложно. Вся наша работа выполняется через веб-сервисы, поэтому, если пользователь переходит на URL определенной категории, сайт вызывает веб-сервис и передает некоторые переменные (идентификатор клиента, категория и т. Д.). Веб-служба будет возвращать категории, продукты и цены для этого клиента, которые затем будут отображаться на экране.

Наконец, еще более сложной версией последнего варианта будет фактическое хранение продуктов в Orchard, чтобы редактируемые поля (описание, мета-теги и т. Д.) Управлялись через Orchard CMS. Это потребует серьезных изменений (или поглощения) нашего среднего уровня WCF. Это кажется почти невозможным, но может позволить лучше обрабатывать больше носителей в будущем (фотографии, видео, листы MSDS, литература по продуктам и т. Д.).

Что ты думаешь между этими тремя моделями?

1 Ответ

2 голосов
/ 24 июня 2011

Вы можете создать простой модуль Orchard, который очень похож на область в проекте MVC.Он использует контроллеры и представления, и это легко сделать, если вы знакомы с MVC.Вам не нужно слишком сильно интегрировать его с Orchard, если вы тоже этого не хотите.Содержимое вашего модуля будет находиться в папке, а Orchard будет управлять остальным содержимым сайта.

Чтобы страницы в вашем модуле использовали тему фруктового сада с сайта, вам просто нужно добавить фильтр [Themed] вваш контроллер.

Пример hello world в документации Orchard показывает вам, как это сделать.

Это будет самый простой вариант, но если вырешил хранить продукты как элементы контента Orchard.Добраться туда будет сложнее, но вы сможете воспользоваться другими модулями Orchard и добавить в свои продукты такие части контента, как теги, комментарии и обзоры.

...