Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Tạo chức năng thay đổi giao diện web trên MVC

    Mình đang làm một trang web theo chuẩn MVC.
    Đang bị bí cái chức năng thay đổi giao diện để người dùng có thể tùy chỉnh giao diện (màu sắc, font chữ,...) của web.

    Các bác nào cho mình cái ý tưởng với [IMG]images/smilies/18.gif[/IMG][IMG]images/smilies/18.gif[/IMG][IMG]images/smilies/18.gif[/IMG][IMG]images/smilies/18.gif[/IMG]

  2. #2
    Ngày tham gia
    Feb 2014
    Bài viết
    0
    Mình thì chưa làm cái này lần nào!

    Nhưng mình nghỉ để làm đc chức năng này thì nên tạo 1 cái table lưu thông tin theme: tên, chi tiết, đường dẫn CSS, JS, IMG, trạng thái

    rồi bạn viết 1 cái hàm duyệt cái table xem lại theme nào đang có trạng thái là active chẳn hạn (tốt nhất là nên đặt nó ở trang _Layout chính) nó sẽ kiểm tra rồi tự động lấy cái dường dẫn tương ứng với theme được active vậy là xong

    P/s thật sự mình chưa làm cái này lần nào, nhưng mình nghỉ cái gì mà động thi phải lưu ở db còn ko thì lưu ở XML chứ ko còn cách nào khác. Xin lỗi mình ko thể demo chi tiết cho bạn đc, nhưng hy vọng chút ý tưởng này sẽ giúp được cho bạn

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vnlevanduoc
    Mình thì chưa làm cái này lần nào!

    Nhưng mình nghỉ để làm đc chức năng này thì nên tạo 1 cái table lưu thông tin theme: tên, chi tiết, đường dẫn CSS, JS, IMG, trạng thái

    rồi bạn viết 1 cái hàm duyệt cái table xem lại theme nào đang có trạng thái là active chẳn hạn (tốt nhất là nên đặt nó ở trang _Layout chính) nó sẽ kiểm tra rồi tự động lấy cái dường dẫn tương ứng với theme được active vậy là xong

    P/s thật sự mình chưa làm cái này lần nào, nhưng mình nghỉ cái gì mà động thi phải lưu ở db còn ko thì lưu ở XML chứ ko còn cách nào khác. Xin lỗi mình ko thể demo chi tiết cho bạn đc, nhưng hy vọng chút ý tưởng này sẽ giúp được cho bạn
    Thực sự thì cái trò này mình cũng từng làm trên php rồi, bằng cách lưu các thiết lập của css vào trong DB luôn. Mình cũng định làm thế, nhưng chưa hiểu lắm bọn MVC này điều khiển layout qua Controller như thế nào.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cái này là chỉ thay đổi layout file thôi (theme) .... còn fone size thì sử dụng CSS thuộc về lãnh vực HTML

  5. #5
    Ngày tham gia
    Feb 2014
    Bài viết
    0
    Trích dẫn Gửi bởi VNFox
    Cái này là chỉ thay đổi layout file thôi (theme) .... còn fone size thì sử dụng CSS thuộc về lãnh vực HTML
    Vấn đề là mình điều khiển mấy cái font size, bố cục,... trong Controller như thế nào ấy? Ý mình là mình muốn tạo chức năng thay đổi giao diện luôn
    Phương án của mình chỉ là "open file" css rồi ghi đè vô. Nhưng mình nghĩ như vậy không được hay lắm [IMG]images/smilies/smile.png[/IMG]

  6. #6
    Có 2 phương pháp hơi cùi tí. Bác thấy ok thì thử xem.
    pp1: định nghĩa tất cả các css cần thiết
    - class fontsize min->max option select font.(.fontsize1,.fontsize2)
    rồi khi <div class="font"+num>
    pp2: Tạo 1 class chung xử lý cho từng section giống nhau.
    $(function () {
    var number = $("div").attr("class").match(/\d+$/);
    $("div").css({
    "width": "100px",
    "height": "100px",
    "background-color": "green",
    "border-radius": number + "px"
    });
    });

    Cả 2 phương pháp đều phải xử lý c#+sql.
    Phương pháp dùng theme chỉ customize theo 1 theme, 1 size quy định chung thui. không tùy chỉnh dc font,size theo ý muốn guest

  7. #7
    Ngày tham gia
    Sep 2015
    Đang ở
    Số 60 Thái Hà, Đống Đa, Hà Nội
    Bài viết
    0
    Thay đổi giao diện bạn nói chung chung quá mình không hình dung được, mình nói theo cách hiểu của mình nhé.
    Đầu tiên là cái mà bạn muốn "động" là động ở đâu, trên server hay ở client.
    Thay đổi giao điện có 2 loại :
    1. Dùng Theme ( động kiểu dynamic) : Cái này dùng asp.net mvc bạn viết 1 extension method để lấy ra string file css. Trong file Views/Shared/Layout.cshtml bạn có thể viết
    Mã:
    @using HoangThi.cssHelpers
    
    <html>
      <head>
        ...
        @Html.RenderStyles()
      </head>
      <body>
        ...
        @RenderBody
        ...
      </body>
    </html>
    class HoangThi.cssHelpers có thể gợi ý như sau:
    Mã:
    namespace HoangThi.cssHelperss
    {
        public static class AssetHelper
        {
             private static List<string> StyleSheets(this HtmlHelper helper)
            {
               // lay danh sach css tai day
            }
           public static MvcHtmlString RenderStyles(this HtmlHelper helper)
            {
                StringBuilder output = new StringBuilder();
                string template = "<link rel=\"stylesheet\" type=\"text/css\" href=\"{0}\" />";
    
                foreach (string styleSheet in helper.StyleSheets())
                    output.Append(String.Format(template, styleSheet));
    
                return new MvcHtmlString(output.ToString());
            }
    
        }
    }
    2. Dùng thay đổi những thứ hiển thị trên trình duyệt như đổi font, kích cỡ, dài, rộng cao... (động kiểu animation): dùng javascript, khuyến nghị bạn nên dùng jquery cho mấy cái "động đậy" này.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •