2013-03-10 23 views
6

Chúng tôi có một vài ứng dụng web MVC 3.0, một số kết hợp của Biểu mẫu Web và MVC3.0 trong dự án/giải pháp.Cách thực hành tốt nhất để di chuyển web MVC sang Sitecore

Tôi mới yên lặng khi ngồi xuống, có thể ai đó vui lòng giúp tôi hiểu sau đây về việc chuyển ứng dụng hiện có sang Sitecore?

  1. Trên loại kịch bản nào chúng ta nên di chuyển chế độ xem dao cạo MVC3.0 sang sitecore?

  2. Di chuyển then chốt di chuyển MVC3.0 sang sitecore là gì?

  3. Tôi có cần tiêm bất kỳ thứ gì vào đường dẫn sitecore không?

  4. Tôi có cần phải thay đổi bất kỳ liên kết điều hướng nào để hoạt động trong sitecore không?

  5. Bất kỳ liên kết nào để thực hiện tốt nhất để di chuyển ứng dụng web hiện có sẽ tốt.

Tôi đã theo dõi blog bên dưới và vẫn chưa rõ tại sao và khi nào chúng ta nên chuyển đổi điều khiển web và chế độ xem dao cạo thành Sitecore Rendering.

Cảm ơn bạn.

Trả lời

9

Khi di chuyển ứng dụng MVC vào giải pháp Sitecore, bạn có sẵn một vài tùy chọn - tùy thuộc vào tính chất của thành phần bạn đang di chuyển, bạn sẽ phải chọn tùy chọn thích hợp nhất.

tôi sẽ cố gắng và giải quyết 5 của bạn câu hỏi cụ thể:

1. Khi sử dụng Razor xem

Tôi không chắc chắn nếu câu hỏi là "khi sử dụng một cái nhìn Razor" hoặc nếu các câu hỏi là "khi nào sử dụng Sitecore View Rendering" - tôi sẽ giả định sau.

Hiển thị chế độ xem tuyệt vời nếu bạn đang viết các thành phần trình bày không yêu cầu bất kỳ logic nghiệp vụ nào và chỉ giao dịch với các mục kết xuất. Nếu bạn đang dự tính thêm mã trong xem Razor của bạn, bạn có lẽ nên xem xét nếu một điều khiển Rendering sẽ là thích hợp hơn hoặc có thể tùy chỉnh các đường ống mvc.getModel.

2. Di cư gotchas

Một số trong những điều mà có thể bắt gặp bạn ra ngoài khi di chuyển một ứng dụng MVC để Sitecore.

  • Bộ điều khiển dựa trên thành phần - trong MVC bạn có một bộ điều khiển trên mỗi trang. Sitecore hỗ trợ khái niệm ControllerRenderings cho phép bạn có nhiều bộ điều khiển trên một trang (lưu ý: sẽ luôn có một bộ điều khiển tuyến đường có thể được coi là chính).
  • Định tuyến mục - Sitecore có tất cả tuyến đường có hiệu quả đối với tất cả các đường dẫn ánh xạ tới đường dẫn mục. Các tuyến MVC tiêu chuẩn và "tuyến đường hàng" có thể cùng tồn tại một cách hạnh phúc. Các tuyến đường mục hiện không hỗ trợ thông số tuyến đường (ví dụ: bạn không thể chỉ định {action} hoặc các thông số khác trên tuyến đường mục).
  • MVC4 - Hiện tại không có hỗ trợ chính thức cho MVC4 (điều này sẽ không đúng trong thời gian dài - nhưng trong khi chờ đợi, hãy xem http://herskind.co.uk/blog/2012/10/sitecore-66-mvc4)
  • Khu vực - Hiện tại các khu vực không được hỗ trợ đầy đủ.
  • Không biết loại kết xuất nào sẽ sử dụng và thời điểm chuyển đổi chức năng hiện có thành các thành phần.

3. Pipeline tùy

Bạn không bắt buộc phải tùy chỉnh các đường ống Sitecore. Tôi có thể thấy một vài ví dụ về việc sửa đổi đường ống trong bối cảnh câu chuyện di chuyển sẽ hữu ích. Một ví dụ gần đây tôi đã nói về một Nhóm Người dùng Sitecore có liên quan đến việc thêm một đường dẫn toàn cầu là ActionFilter (thông qua đường ống mvc.resultExecuting) sẽ đưa ứng dụng ASP.Net MVC vào một chỗ giữ Sitecore. Trong ví dụ của tôi, tôi đã đưa MVC Music Store vào một trình giữ chỗ và đã thay đổi cửa sổ điều khiển Sitecore (tiêu đề/chân trang/menu). Bằng cách này, tôi có thể đưa ứng dụng MVC hiện có của mình vào Sitecore mà không phải thay đổi nhiều.

4. Navigation Links

Nếu điểm cuối điều hướng của bạn là Sitecore tuyến mục (e.i. đường dẫn đến một mục trên trang web), bạn nên sử dụng Sitecore của LinkManager để tạo ra các liên kết thích hợp. Nếu các điểm cuối là các tuyến MVC tiêu chuẩn RouteLinkActionLink sẽ hoạt động tốt.

Tôi đoán không có ví dụ cụ thể, câu trả lời sẽ là "có thể".

5. tốt nhất trên blog thực hành di bài

Tôi không biết về bất kỳ bài đăng trên blog hoặc các sản phẩm đối phó với Sitecore MVC di cư thực hành tốt nhất. Hãy nhớ rằng hỗ trợ đầy đủ MVC là một bổ sung gần đây cho Sitecore và không có nhiều người nhìn thấy cuộc hành trình này từ đầu đến cuối.

Tại sao và khi nào thì chuyển sang Sitecore Rendering

Bạn kết thúc câu hỏi của bạn nói rằng bạn vẫn còn bối rối về việc khi nào và tại sao bạn sẽ chuyển đổi điều khiển và quan điểm Razor để render Sitecore. Dưới đây là một số chỉ báo cho thấy một ứng cử viên cho việc hiển thị Sitecore:

  • Đây là một thành phần có thể được sử dụng lại trên nhiều trang.
  • Bạn muốn cho phép người dùng Sitecore thêm thành phần vào trang. (nghĩ Trình chỉnh sửa trang)
  • Bạn muốn tận dụng bộ nhớ đệm cấp thành phần của Sitecore.
  • Bạn muốn tận dụng bảo mật Sitecore để hạn chế những người có thể sử dụng/xem thành phần.
  • Bạn muốn kiểm soát thành phần với cá nhân hóa, quy tắc hoặc chạy MVT trên đó.

Trong bối cảnh MVC đây là một số chỉ số mà nó có thể không được quyền chuyển đổi một cái gì đó để một rendering Sitecore:

  • Nó chủ yếu dựa vào định tuyến và tuyến đường thông số.

tôi chắc chắn rằng rất nhiều các điểm trong câu trả lời này có thể được mở rộng trên và tôi biết rằng không có quy định rõ ràng cho điều này - nhưng tôi hy vọng câu trả lời này giúp sáng tỏ một số sự nhầm lẫn ...

+1

+1 - Không chắc chắn nếu đó là 'thực hành tốt nhất' hoặc nếu nó chỉ là bài đăng blog đầu tiên dùng thử, nhưng đây là bài đăng về cách chuyển trang web hướng dẫn MVC Music Store sang Sitecore MVC. http://www.sitecore.net/Community/Best-Practice-Blogs/Chris-van-de-Steeg/Posts/2012/08/MVC-Controller-Renderings-for-Sitecore.aspx –

+0

Bài đăng trên blog của tôi Chris ' nghĩ rằng đó là một minh họa tốt về cách bạn có thể sử dụng một số khía cạnh khác nhau của Sitecore MVC. Nhưng nếu kịch bản là bạn đang bắt đầu với một "MVC Music Store" ứng dụng và bạn muốn kết hợp nó vào một giải pháp Sitecore tôi có lẽ sẽ không kéo nó một phần chỉ để lắp ráp lại nó trong Sitecore. Một số thành phần cho vay để trở thành Sitecore render hơn những người khác. – herskinduk

Các vấn đề liên quan