Project MVC application với nhiều theme, và một theme có một logic lấy dữ liệu khác nhau
Chào các bạn, Mình đang có một vấn đề như sau.
Mình xây dựng một project MVC với nhiều theme (Vấn đề này mình đã làm được). Tuy nhiên bây giờ minh phát sinh một yêu cầu là mỗi theme có cách thức lấy dữ liệu và logic khác nhau.
Ví dụ. Trong HomeController theme A yêu cầu lấy 10 bài viết, theme B yêu cầu lấy 10 sản phẩm. (Mình chưa có cách để giải quyết vấn đề này)
Mục đích của việc làm nhiều theme của mình là để phần backend không phải viết lại cũng như clone ra thành nhiều phần.
Mong anh em chia sẻ.
Up. Mong các bác cho giải pháp
vấn đề này bạn có thể tham khảo pattern của WordPress (mặc dù WP ko hẳn là MVC), một trong những yếu tố tạo nên thành công của WP chính là tính lịnh hoạt của nó. về cơ bản pattern này dựa trện 2.5 thứ:
0. cái này coi như là yêu cầu đi :
theme A muốn lấy 10 sản phẩm cồn theme B lấy 10 bài viết và hiển thị trong content, ta sẽ add 1 callback cho action
site_content
(việc add action phải thực hiện trước khi load template):mỗi theme bạn sẽ cần định một loạt các hooks gọi đến model để lấy data.
các hàm
add_action
sẽ thêm một call back cho 1 action nhất định còndo_action
sẽ gọi hết các callback ra một lượt (dài qúa lười viết ).cơ bản là thể, hy vọng có thể cho bạn thêm một giải pháp để tham khảo.
Cảm ơn bạn.
Giải pháp của bạn nghe khá ổn. Tuy nhiên như thế này có một nhược điểm là sẽ phát sinh nhiều code C# ở view. Nếu view chỉ có model và html là đẹp nhất.
Mình sẽ nghĩ thêm để khắc phục nhược điểm này