cach dang ky m88 |

Component ở Back-end trong Joomla 2.5

1. Giới thiệu com_sach
Chúng ta sẽ làm component cho phép nhập và hiển thị các loại sách và các cuốn sách lên trên trang web. Dữ liệu sẽ gồm 2 bảng là bảng jos_sach và jos_loai, mô hình PDM như sau:

Dễ nhận thấy chúng ta có 2 đối tượng cần thao tác là sách và loại. Như vậy chúng ta cần có 2 view, 2 model. Chúng ta sẽ xây dựng component com_sach ở Back-end gồm có các model và view này. Cấu trúc tập tin và thư mục sẽ như sau:

2 Các lớp Model, View, Controller của com_sach
Quy tắc để tạo ra các lớp khá ngắn gọn và dễ nhớ, tóm gọn trong 4 dòng sau

Với Model: <Tên component>Model<Tên model>
Với View: <Tên component>View<Tên view>
Với Controller: <Tên component>Controller
Chúng phải kế thừa từ các lớp cơ sở của Joomla, cơ bản nhất là JModel, JView, JController

Theo quy tắc 4 dòng trên, chúng ta lần lượt tạo ra các lớp tương ứng trong các tập tin đã tạo như sau:

  • Model
    * Khai báo class SachModelSach kế thừa lớp JModel trong tập tin com_sach/models/sach.php
    * Khai báo class SachModelLoai kế thừa lớp JModel trong tập tin com_sach/models/loai.php,
  • View
    * Khai báo class SachViewSach kế thừa lớp JView trong tập tin
    com_sach/views/sach/view.html.php
    * Khai báo class SachViewLoai kế thừa lớp JView trong tập tin com_sach/views/loai/view.html.php
  • Controller
    * Khai báo class SachController kế thừa lớp JController trong tập tin com_sach/controller.php

    Sau khi khai báo chúng ta được danh sách các lớp như trong hình sau

Lưu ý là các lớp này phải kế thừa từ các lớp cơ sở.
Tới thời điểm này, code của lớp SachModelSach được định nghĩa trong tập tin com_sach/models/sach.php sẽ như sau

Code của lớp SachModelLoai được định nghĩa trong tập tin com_sach/models/loai.php sẽ như sau:

Code của lớp SachViewSach định nghĩa trong tập tin com_sach/views/sach/view.html.php như sau

Tiếp theo là code của lớp SachController định nghĩa trong tập tin com_sach/controller.php

Cuối cùng chúng ta sẽ viết mã cho tập tin com_sach/sach.php. Đây là tập tin không thể thiếu trong một component. Tập tin này thường thực thi 3 thao tác chính gồm.

Include tập tin Controller
Khởi tạo đối tượng SachController
Gọi phương thức execute($task) của

đối tượng SachController đã khởi tạo

Mã nguồn như sau:

.3 Thực thi com_sach ở Back-end
Đăng nhập vào trang quản trị và truy cập đường dẫn như sau: index.php?option=com_sach. Chúng ta sẽ thấy Joomla đưa ra cảnh báo lỗi như hình sau:

Lỗi này phát sinh do chúng ta chưa thực hiện cài đặt component nên chưa thể thực thi nó một cách bình thường được. Công việc tiếp theo chúng ta sẽ khai báo tập tin cấu hình và thực hiện cài đặt trước khi thực thi component com_sach.

Trong thư mục com_sach, tạo tập tin sach.xml và tạo nội dung cho tập tin sach.xml này như sau:

Tương tự như Module và Template, đây là tập tin chứa các thông tin cần thiết cho quá trình Joomla nhận diện ra extension khi được cài đặt. Ở đây chúng ta khai báo các thông tin metadata về component, các tập tin, thư mục và các menu-item Joomla cần tạo trong quá trình cài đặt component.

Sau khi thực hiện xong chọn Extensions  Extension Manager  Discover và nhấn nút Discover trên thanh Toolbar. Chọn Component com_sach trong danh sách hiện ra và nhấn nút Install để hoàn thành việc cài đặt.

Nếu việc cài đặt diễn ra thành công, Joomla hiển thị màn hình thông báo như sau

Bây giờ thì component com_sach của chúng ta có thể thực thi một cách bình thường. Chọn Components  quan-ly-sach  danh-sach-sach chúng ta sẽ có kết quả thực thi như sau:

Ở đây, so sánh với code đã viết trong phần 4.3.2 bên trên chúng ta thấy Joomla đang thực thi phương thức display() của lớp SachViewSach.
Chọn Components  quan-ly-sach  the-loai-sach chúng ta sẽ có kết quả thực thi như sau:

Hổ trợ

Hổ trợ Hữu Phát

Nhân viên tư vấn thiết kế website Mr. Hữu -
Tư vấn Thiết kế website
0188.525.0716 
Yahoo
 
Nhân viên tư vấn thành lập công ty Mrs. Loan -
Tư vấn thành lập công ty
09.798.17170 
Yahoo
 
Nhân viên hổ trợ kỷ thuật mạng Mr. Công -
Nhân viên kỹ thuật
0985.012.596 
Yahoo
 

Tìm kiếm

Thanh toán:

Trao đổi backlink :
thiet ke website binh duong | thiết kế web tại bình dương |

quang cao google tai binh duong | quang ba web o binh duong |