header-object

Template trong Joomla (3) - Tham số

Ta sẽ thêm một tham số kiểu list có tên là layout_type gồm 2 giá trị là side at  left hoặc side at right. Đoạn mã thiết lập tham số nằm trong tập tin templateDetails.xml như sau:

<config>
<fields name="params">
<fieldset name="advanced">
<field type="list" name="layout_type" label="Layout Style">
<option value="layout">
             side at left
</option>
<option value="layout_right">
             side at right
</option>
</field>
</fieldset>
</fields>
</config>

Sau khi thiết lập tham số, đăng nhập vào trang quản trị với quyền quản trị.  Chọn Extensions à Template Manager à chọn tab Styles à chọn mục hoangnguyen – Default. Nhìn qua cột bên phải chúng ta thấy hiển thị tham số cho phép chúng ta chọn như sau:

 template031

Trong thư mục templates/hoangnguyen/css thêm vào tập tin layout_right.css có nội dung như sau:

@CHARSET "UTF-8";
#wrapper {
width: 980px;
margin: 20px auto;
}
#logo {
background: #12619A;
padding: 10px;
margin: 20px 0;
}
#leftSide {
width: 260px;
float: right;
min-height: 300px;
padding: 10px;
background: #ddd;
border: solid 1px #ccc;
}
#rightSide {
width: 660px;
float: left;
min-height: 300px;
padding: 10px;
background: #ddd;
border: solid 1px #ccc;
}
#foot {
text-align: center;
min-height: 120px;
padding: 10px;
background: #ddd;
border: solid 1px #ccc;
margin: 20px 0;
}

Tập tin này tương tự như tập tin layout.css đã tạo trước đó. Chỉ khác là chúng ta float leftSide sang phải và rightSide sang trái.
Mở tập tin index.php và sửa lại mã ở dòng nhúng tập tin layout.css trước đó thành như sau:

<link rel="stylesheet" href="/templates/hoangnguyen/css/<?php echo $this->params->get('layout_type','layout');?>.css"
type="text/css" />

Lưu tập tin này lại và trở lại màn hình thết lập tham số cho style hoangnguyen – Default. Nhập lại title là hoangnguyen – Right, chọn mục side at right trong phần thiết lập tham số và nhấn nút Save as Copy trên thanh Toolbar, nếu bạn làm đúng trong màn hình Styles ở trang quản trị sẽ xuất hiện 2 dòng style như sau:

template0312


Chọn mục hoangnguyen – Right và nhấn vào nút Make Default trên thanh Toolbar, refresh lại trang ngoài và chúng ta có hiển thị trang theo bố cục mới như sau:

template0313

Như vậy, đối với template để lấy về tham số chúng ta không sử dụng đối tượng $params như khi lập trình module mà sử dụng thuộc tính $this->params. Cách thao tác lấy về các giá trị tham số đã thiết lập cũng tương tự như dùng đối tượng $params ở module.

GV: Đào Ngọc Giang

(Còn tiếp)

Thêm ý kiến


Security code
Làm mới


2

Facebook

Thống kê truy cập

Hiện có 396 khách đang truy cập
2546522