Hướng dẫn

Nếu bạn lần đầu ghé thăm blog của mình, bạn có thể vào phần hướng dẫn để biết thêm thông tin và cách sử dụng blog này.

Thứ Sáu, 3 tháng 12, 2010

2 phút liệu có "làm" được CMS không ?

Hì hì, khi đọc tiêu đề gây "sốc" và "ngộ độc" tập thể này, có nhiều bạn sẽ nghĩ mình "siêu phét" hoặc chí ít cũng thuộc loại "phét có bằng cấp". Tất nhiên để tạo 1 CMS ngon lành theo hướng "tự xử" chí ít cũng tốn không ít "xương máu" và thời gian, nhanh thì 2-3 ngày, lâu thì 1 tháng, nếu sử dụng mã nguồn mở thì phải tìm hiểu cấu hình rắc rối, nếu sử dụng software phát sinh mã thì "chắc là có thể".

Quên mất chưa giới thiệu, CMS này là một dạng quản trị và cập nhật thông tin đơn giản, có đầy đủ chức năng Thêm, Xóa, Sửa, Lọc và cuối cùng là nó chạy trên môi trường Windows và sử dụng công nghệ .NET. Đặc biệt CMS này sử dụng LINQ đấy, rất thú vị và tiện phát triển sau này.

Chuẩn bị
Để làm được điều này vui lòng chuẩn bị "rau củ quả" như sau:
  • Có cài đặt sẵn phiên bản .NET 3.5 hoặc 4.0 trên máy
  • Thêm một bộ Visual Studio nhé và phải là phiên bản 2010 (có thể là 2008 nhưng cần cài thêm một số gói dịch vụ khác, bạn nào có nhu cầu thì mình sẽ gửi thông tin)
  • Một cơ sở dữ liệu SQL 2005.

30 giây đầu tiên
Ngắm bộ Visual Studio khởi động, tùy máy nhanh hay chậm, nhưng thôi cứ cho là 15 giây khởi động đi.
  • Tạo một website
  • Chọn loại ngôn ngữ yêu thích VB hoặc C#.
  • Chọn loại website là ASP.NET Dynamic Data LINQ to SQL Website

 
Website đã được tạo với cấu trúc thư mục như sau



30 giây tiếp theo
Chuẩn bị cho kết nối với cơ sở dữ liệu
  • Nếu bạn không thấy cửa sở Server Explorer thì có thể vào menu View -> Server Explorer
  • Chọn phần Data Connections
  • Sau đó nhấn chuột phải để thấy menu xổ và chọn Add Connection...
  • Nhập thông tin kết nối vào hộp thoại, ở đây máy mình có tên SQL Server là localhost\sql2005, nếu máy bạn chỉ có cài 1 phiên bản SQL thì có thể điền là (local).
  • Chọn database sử dụng để tạo CMS, mình sẽ dùng Northwind, nếu bạn chưa có database mẫu thì có thể tải về một bản để làm thử (tải tại đây, trong đây có 2 database mẫu là Northwind và Pubs)


Sau khi kết nối thì cấu trúc database sẽ hiển thị như sau:


30 giây đầu của phút thứ 2
Tạo mới một tập tin cho website bằng cách


  • Chọn menu File -> New file...
  • Chọn loại tập tin là LINQ to SQL Classes, bạn có thể đặt tên tập tin là DB
  • Một cửa sổ chỉnh sửa hiện ra
  • Bạn "nắm đầu" những table của cơ sở dữ liệu từ cửa sổ Server Explorer và kéo thả vào vùng soạn thảo màu trắng, bạn sẽ được một cấu trúc quan hệ của những class do Visual Studio phát sinh dựa trên cơ sở dữ liệu của bạn


Lưu lại và đóng vùng soạn thảo dành cho tập tin DB

Chỉ còn 30 giây thôi
Trong cửa sổ Solution Explorer, tìm đến tập tin gloabl.asax, nhấp đúp vào để soạn thảo nó.


Bạn sẽ thấy một đoạn mã lệnh được mở ra, có rất nhiều dòng viết sẵn và nhiều dòng được đánh dấu chú thích.
  • Tìm đến dòng 17, có nội dung như sau
  • //model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });
  • Bạn sao chép dòng này sang dòng 18 và bỏ chú thích dòng này đi, sau đó sửa tại typeof(YourDataContextType) thành typeof(DBDataContext), nếu lúc nãy bạn đặt tên tập tin LINQ to SQL là DB thì có nghĩa tên class đầy đủ là DBDataContext (Visual Studio tự động thêm hậu tố DataContext vào).
  • Sửa tiếp chỗ ScaffoldAllTables = false thành ScaffoldAllTables = true
  • Lưu và đóng cửa sổ soạn thảo lại.
  • Nhấn nhanh nào F5 để cho kịp 2 phút, bây giờ cầm một cốc cà phê và thưởng thức thành quả 120 giây của mình đê.

Chạy thử
Giao diện trang chủ cũng khá "mướt", trình bày tất cả những bảng của cơ sở dữ liệu



Còn đây là một danh sách dữ liệu của một bảng


Tuyệt chưa nào, trông cũng pro đấy. Có những công cụ đã được phát sinh:
  1. Lọc theo trường có kiểu dữ liệu true / false
  2. Lọc theo danh mục sản phẩm
  3. Lọc theo nhà cung cấp
  4. Thao tác Sửa
  5. Thao tác Xóa
  6. Thao tác Xem
  7. Dùng checkbox hiển thị trường có kiểu true / false đó nha
  8. Xem được cả bảng phụ danh sách những chi tiết hóa đơn của từng sản phẩm
  9. Có thể xem thông tin danh mục sản phẩm của từng sản phẩm
  10. Và xem được cả thông tin nhà cung cấp
  11. Chuẩn luôn, có hẳn bộ phân trang, nhảy trang trực tiếp bằng cách nhập số và nhấn enter
  12. Còn có cả bộ chỉ định số mục hiển thị nữa nè
  13. Còn đây là nút thêm sản phẩm
Đó là những điều khiển chung của một trang danh sách, tất cả những thao tác lọc, chuyển trang, đổi số mục hiển thị đều sử dụng Ajax.

Trang sửa dữ liệu

Dùng textbox để nhập liệu cho phần lớn các trường
Những trường có kiểu tru / false thì dùng checkbox
Những trường tham chiếu đến bảng cha thì dùng hộp xổ
Lệnh cập nhật hoặc hủy cập nhật

Trang thông tin chi tiết


Cũng trang bị những liên kết tham chiếu đến bảng cha, bảng con
Và những thao tác trực tiếp: Xóa, Sửa

Ưu điểm
Với những thao tác đơn giản, gọn nhẹ, "mì ăn liền", việc tạo CMS như thế này sẽ giúp cho việc nhập liệu dữ liệu mẫu vào thật đơn giản mà không phải làm nhiều thao tác hoặc tốn sức lập trình. CMS này cũng thích hợp cho những sản phẩm nhỏ, những sản phẩm giới thiệu, dùng thử (demo).

Nhược điểm
Vì nhỏ gọn nên chức năng tạo sẵn khá ít.

Hướng phát triển
Tất nhiên, đồ chùa, đổ tạo sẵn thì không hoàn thiện, nhưng không có nghĩa là không thể phát triển. Với những tính năng cơ bản đó, bạn có thể tùy biến thêm những chức năng nâng cao như:
  • Tạo phần quản lý đa ngôn ngữ
  • Tạo đăng nhập, quản lý quyền thành viên
  • Tạo thêm nhiều loại điều khiển cho từng loại trường dữ liệu theo yêu cầu
  • Đặt lại tên những trường tùy biến theo ý nghĩa khác
  • Giới hạn những mục được chỉnh sửa / được xem
  • ...
Cấu trúc CMS này khá chuẩn, bạn có thể tùy biến nhiều, mọi thứ chỉ phụ thuộc vào độ "mò" và sáng tạo của bạn.

Thao khảo

Không có nhận xét nào:

Đăng nhận xét

Related Posts Plugin for WordPress, Blogger...

Hãy nói không với 4T

Hướng dẫn sử dụng chức năng góp ý
Bạn có thể sử dụng những thẻ <b>, <i>, <a>. Để chú thích đoạn mã bạn có thể sử dụng thẻ [code=type]  [/code], với type là những loại mã sau js, css, html. Chú ý: Khi sử dụng thẻ [code=html] bạn cần theo thế những ký tự < , > thành [] hoặc bạn có thể sử dụng bộ chuyển đổi. Những loại mã khác thì bạn thay thế < , > thành &lt;&gt; hoặc bạn cũng có thể sử dụng bộ chuyển đổi