2011-06-20 16 views
9

Mam duży niestandardowy silnik e-commerce, który obecnie korzysta z bazy danych SQL Server (procedury przechowywane obsługujące większość zadań danych), warstwa pośrednia WCF (obsługa logiki biznesowej) i front MVC -end witryna (która nie ma żadnej wiedzy o żadnej bazie danych). Nasze zapotrzebowanie na system zarządzania treścią szybko rośnie i staram się znaleźć najlepszy sposób na jego wdrożenie, biorąc pod uwagę nasze bardzo podatkowe zasoby programistyczne.Scalanie Orchard CMS z niestandardową witryną e-commerce MVC

Moja pierwsza myśl to po prostu dwie strony internetowe, witryna Orchard CMS i nasza witryna e-commerce. Mógłbym ustawić rodzaj routingu żądań, który wysyłałby URL-e do przeglądania katalogów i funkcji koszyka do witryny e-commerce, podczas gdy inne adresy URL były obsługiwane przez stronę Orchard. Musiałbym mieć kilka modułów (lub widgetów) zbudowanych w witrynie Orchard, które wyświetlałyby takie elementy, jak podsumowanie koszyka, które pojawia się w nagłówku każdej strony. Wydaje się to być najprostszą metodą radzenia sobie z tym, nawet jeśli jest krótkotrwała.

Moja druga myśl polega na tym, aby strona została całkowicie zbudowana przy użyciu Orchard. Wymagałoby to przeniesienia naszej logiki e-commerce do modułów. Wygląda na to, że to będzie piekielne zadanie. Cała nasza praca odbywa się za pośrednictwem usług internetowych, więc jeśli użytkownik przejdzie do określonego adresu URL kategorii, witryna wywoła usługę internetową i przekaże niektóre zmienne (identyfikator klienta, kategorię itp.). Usługa internetowa zwróci kategorie, produkty i ceny tego klienta, które następnie zostaną wyświetlone na ekranie.

Wreszcie, jeszcze bardziej złożoną wersją ostatniej opcji byłoby faktyczne przechowywanie produktów w Orchard, tak aby edytowalne pola (opis, metatagi itp.) Były zarządzane przez Orchard CMS. Wymagałoby to dużych zmian (lub absorpcji) naszej warstwy pośredniej WCF. Wydaje się, że byłoby to prawie niemożliwe, ale może umożliwić lepszą obsługę większej ilości mediów w terenie (zdjęcia, filmy, arkusze danych MSDS, literatura produktu itp.).

Jakie są Twoje dotychczasowe przemyślenia, między tymi trzema modelami.

+0

Widziałeś ten post? http://stackoverflow.com/questions/4727843/how-to-change-orchard-record-repository/5086069#5086069 – adamisnt

Odpowiedz

2

Możesz utworzyć prosty moduł Orchard, który przypomina obszar w projekcie MVC. Używa kontrolerów i widoków i jest łatwy do zrobienia, jeśli znasz MVC. Nie musisz zbyt mocno integrować go z Orchardem, jeśli tego nie chcesz. Zawartość twojego modułu będzie w folderze, a Orchard zajmie się resztą zawartości witryny.

Aby strony w swoim module korzystały z motywu sadów z witryny, wystarczy dodać filtr [Tematyczne] do kontrolera.

Pokaże ci, jak to zrobić. hello world example in the Orchard Documentation

To byłaby najłatwiejsza opcja, ale przyniosłoby to korzyści, gdyby zdecydowano się na przechowywanie produktów jako produkty z treścią Orchard. Trudniej byłoby się tam dostać, ale możesz skorzystać z innych modułów Orchard i dodać do swoich produktów części zawartości, takie jak tagi, komentarze i recenzje.

Powiązane problemy