Vậy là xong, rất đơn giản phải không?// Hieu ro ve DNN va cac Class trong Website Khi bạn tạo một module Dotnetnuke trong VS.NET, sẽ có một số file được tạo ra cho bạn.. Đầu tiên, mình s
Trang 1Bạn thực hiện xây dựng một Module theo cách bình thường Nếu bạn nào chưa biết, kesfaw sẽ viết một bài hướng dẫn cách xây dựng một module cho DNN trong các bài viết sắp tới
Đầu tiên đặt module vào DNN bình thường
B1: Mở source code module lên, trong sự kiện PageLoad, bạn sẽ thêm đoạn code: C#
Code:
Trích dẫn:
protected void Page_Load(System.Object sender, System.EventArgs e)
{
if (DotNetNuke.Framework.AJAX.IsInstalled()){
DotNetNuke.Framework.AJAX.RegisterScriptManager();
}
}
B2: Vào menu Host>Module Definitions Click chọn Edit module của bạn Trong option Dependencies, thêm vào khai báo sau:
Code:
Trích dẫn:
System.Web.UI.ScriptManager
Sau đó bấm Update
B3: Cũng vào menu Host>Module Definitions, click chọn Edit module của bạn =>
chọn edit file thể hiện trên DNN, ở đây mình đang demo trên module Change
Password với tên file là ViewChangePassword.acsx, bấm chọn edit file này
Vào trong cửa sổ kế tiếp bạn sẽ thấy 1 tùy chọn Supports Partial Rendering,
checked chọn option này
Trang 2Bấm Update Vậy là xong, rất đơn giản phải không?
// Hieu ro ve DNN va cac Class trong Website
Khi bạn tạo một module Dotnetnuke trong VS.NET, sẽ có một số file được tạo ra cho bạn Mỗi file có một mục đích sử dụng riêng Trong bài viết này, mình sẽ nói về các file đó
Đầu tiên, mình sẽ nói về các file được đặt trong thư mục App_Code
-DataProvider.cs: Đây là 1 abstract class, khai báo các hàm mà module sử dụng để
kết nối CSDL
-SqlDataProvider.cs: Là class, implemnent class abstract trong thằng
DataProvider.cs Thực chất ở đây DNN cung cấp sẵn các hàm căn bản như Get, Edit, Delete… Bạn chỉ cần thay các parameter cho phù hợp, cũng như chỉnh lại tên các stored procedure cho đúng
-…Info.cs: Là 1 class model, chứa các property Bạn sẽ lấy dữ liệu được lấy từ
SqlDataProvider và nhét vào model này để sử dụng
-…Controller.cs: Là 1 class, gọi các hàm trong SqlDataProvider để lấy dữ liệu, sau
đó xử lý thêm theo business flow Những hàm ở đây sẽ được gọi bởi các class trong phần View
Tiếp theo là những file trong thư mục DesktopModules
-Hai file SQLDataProvider: Một file sẽ chứa các script để tạo database và các stored procedure cần thiết cho module của bạn Nó sẽ được gọi khi ta cài đặt module File còn lại thì chứa các script để xóa table và các stored procedure Nó được gọi khi ta remove module trên DNN site Thường thì mình tạo các table, stored procedure trên SQL Server Rồi khi create package cho module, mình sử dụng tính năng generate script trên SQL Server để tạo các script cần thiết và đưa vào 2 file này
-View….ascx: chứa các thẻ html control và asp.net control cho phần view của
module Tất nhiên bạn cũng có thể include phần code xử lý trên này Nhưng tốt nhất nên đưa nó vào code behind
Đây chính là những gì sẽ hiển thị cho người sử dụng thấy
Trang 3-View….ascx.cs hoặc View….ascx.vb: phần code behind Chứa các xử lý cho các
event chẳng hạn Thường gọi các hàm bên …Controller.cs để lấy dữ liệu
-Edit….ascx: chứa các thẻ html control và asp.net control cho phần edit của module
Ví dụ như bạn muốn chỉnh sửa thông tin của 1 item thì sẽ được đưa vào đây
-Edit….ascx.cs hoặc Edit….ascx.vb: phần code behind cho Edit….ascx.
-Settings.ascx: chứa các thẻ html control và asp.net control cho phần settings của
module Settings của module là các giá trị được sử dụng chung cho module đó
-Settings.ascx.cs hoặc Settings.ascx.vb: phần code behind cho Settings.ascx.
-…dnn file: Đây là manifest file hay definition file Chứa các khai báo quan trọng
cho việc cài đặt 1 module Khi bạn tạo 1 install package, cần phải có file dnn Khi bạn install gói install này, DNN site sẽ đọc các thông tin trong file dnn này để cài đặt Đây
là file rất quan trọng
-Các file trong thư mục Documentation: chứa các thông tin mà người tạo ra module muốn cung cấp cho người sử dụng Ví dụ như quảng cáo, note, thông tin bản quyền… Thực sự không cần thiết Mình thường xóa nó đi cho rảnh
-Các file resource trong App_LocalResources: do NET tạo ra cho các file ascx Mình thường ít động vào nó Cứ để VS.NET làm thôi
-Hai file container.cs và module.cs: chứa các rule css mà bạn sử dụng trên các file ascx Thường các rule được để trên module.cs
-Ngoài ra còn có thể có các file hình ảnh, file javascript… Đó là do nhu cầu của module của bạn
Có lẽ những giải thích của mình hơi mơ hồ 1 chút Vì thực sự nhiều cái mình hiểu đại khái chứ cũng không đi sâu vào hiểu kĩ ^_^