Tải bản đầy đủ (.doc) (3 trang)

xây dựng một module dotnetnuke

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (91.77 KB, 3 trang )

Bạ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.
Bấ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.
-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ĩ. ^_^

×