01/10/2018, 17:18

Tạo Module Chrome trong Joomla

I. Module Chrome là gì? Module Chrome được sinh ra giúp chúng ta điều khiển việc thêm bớt thẻ HTML cho output của module. Chúng ta có thể thêm các thẻ HTML vào phía trước, phía sau hoặc bao bọc hoàn toàn module. Để dùng Module Chrome, chúng ta dùng thuộc tính “style”. Ví dụ: ...

I. Module Chrome là gì?
Module Chrome được sinh ra giúp chúng ta điều khiển việc thêm bớt thẻ HTML cho output của module. Chúng ta có thể thêm các thẻ HTML vào phía trước, phía sau hoặc bao bọc hoàn toàn module.

Để dùng Module Chrome, chúng ta dùng thuộc tính “style”. Ví dụ:


Chúng ta có 6 styles mặc định: rounded, none, table, horz, xhtml, outline. Các bạn thử cho những style này vào, sau đó view source, các bạn sẽ thấy những mã HTML được tạo ra sẽ khác nhau mặc dù cùng là một module.

Ngoài 6 loại styles mặc định ở trên, chúng ta cũng có thể tạo ra custom module chrome style cho riêng mình.

II. Tạo custom module chrome

1. Tạo file
Để tạo custom module chrome, chúng ta phải tạo ra file modules.php trong thư html của template. Đường dẫn như sau

templates/template của bạn/html/modules.php

2. Viết ít code
Trong file modules.php vừa tạo, chúng ta tạo một hàm có tên là modChrome_STYLE, trong đó STYLE là tên của custom module chrome của các bạn. Các bạn sẽ sử dụng kết hợp với thuộc tính style ở trên.
Hàm này có 3 tham số: $module, &$params, và &$attribs. Chúng ta có một hàm cơ bản là như sau:

  function modChrome_STYLE( $module, &$params, &$attribs ) 
  {
    /* Code của bạn */
  }

Chúng ta cũng có thể sử dụng những properties của module trong hàm trên. Chúng ta có các properties như: $module->content, $module->showtitle, $module->title. Đây là các cột trong bảng jos_modules. Các bạn mở bảng này lên xem thêm.
Ok, đoạn mã chúng ta đến đây tiến triển thêm một tí như sau:

  function modChrome_STYLE( $module, &$params, &$attribs ) 
  {
     if ($module->showtitle) 
     {
        /* Code của bạn */
     }
  }

Ngoài ra, chúng ta có thể truy xuất các parameter như sau

-->
0