Tất cả các template function của xenforo đều bắt đầu bằng xen:
Ví dụ: {xen:link}
1. Biến trong xenforo template.
- Biến là đại lượng được đặt tên, dùng để lưu giữ giá trị và giá trị có thể thay đổi trong quá trình thực hiện chương trình.
- Cú pháp: {$<ten-bien>} hoặc {$<ten-mang>.<phan-tu>}
- Quy tắc đặt tên biến
+ Ký tự bắt đầu phải là một chữ cái, còn các ký tự tiếp theo có thể là chữ số, gạch dưới, chữ cái. Ngoài mấy thứ kể trên ra, bạn không nên thêm bết cứ thứ gì khác vào tên biến
+ Không được có khoảng trắng
+ Các biến phân biệt chữ hoa chữ thừơng, vì thế ANH sẽ khác với Anh cũng như anh, để tránh rắc rối, ta nên dùng chữ thường cho tất cả tên biến và dùng dấu _ để phân cách thay cho khoảng trắng
2. Hiển thị các cụm từ (phrase).
- Để hiển thị 1 cụm từ (phrase) chúng ta sử dụng cú pháp
- phrase-varname là tên biến. Ví dụ. Khi bạn vào ACP > Appearance > Phrases > Create New Phrase. Tạo một cụm từ với nội dung (phrase text) là: "Chào mừng các bạn đến với tuoitreit.vn" và varname (Title) là "welcome_tuoitreit". Và bạn sử dụng lệnh
trong template. Thì khi xem trên website các bạn sẽ thấy dòng chữ: "Chào mừng các bạn đến với tuoitreit.vn"
3. "<xen:require />"
- Hàm này có các thuộc tính sau: <type> = "<location>"
- <xen:require /> có chức năng tương tự như hàm require_once(<location>); trong PHP. Có nghĩa là nó cho phép chúng ta chèn code từ một template khác.
- Các kiểu dữ liệu chúng ta có thể dùng: css/js.
- Tất cả các hàm <xen:require phải được kết thúc bằng />
- Ví dụ:
4. "<xen:include />"
- Hàm này có các thuộc tính tương tự như hàm require ở trên. Nhưng nó chỉ cho phép chèn một template và location là tên của template.
- Sự khác biệt lớn nhất giữ require và include là include có thể cho phép bạn khai báo template variable (biến).
- Ví dụ:
- Tất cả các hàm <xen:include cần phải được kết thúc bằng /> hoặc ></xen:include>
5. "<xen:set></xen:set>"
- Hàm này cho phép chúng ta khai báo biến trong một template.
- Cách sử dụng: <xen:set var="$<tenbien>"><giatricuabien></xen:set>
- Cách đặt tên biến giống như cách đặt tên biến ở PHP. Ví dụ
- Tất cả các hàm <xen:set> cần phải được kết thúc bằng </xen:set>
6. "<xen:if>{<xen:else />}</xen:if>"
- Cú pháp:
- <xen:else /> là tuỳ chọn (có thể có, có thể không)
- Ví dụ:
- Bạn có thể tạo ra một biểu thức điểu kiện kép bằng cách sử dụng toán tử 'OR' và 'AND'
- Để kiểm tra một biến, chúng ta có thể sử dụng "{$variable} <toán tử> '<giá trị>'".
+ Toán tử bao gồm: !=, <=, <, >, >=, <>.
+ Giá trị có thể là số hoặc chuối.
- Trong trường hợp có nhiều lệnh if lồng nhau thì else sẽ gắn liền với if gần nhất.
7. "<xen:foreach></xen:foreach>"
- Hàm <xen:foreach> có chức năng tương tự như vòng lặp ở trong PHP.
- Các thuộc tích của nó bao gồm "loop" và "value".
- Ví dụ:
8. "<xen:title></xen:title>"
- Hàm <xen:title> có chức năng xác định "Tiêu đề" của trang.
- Cách sử dụng:
9. "{$visitor.csrf_token_page}"
Ngoài ra, có một chú ý cho các bạn khi tạo một template có chứa form. Xenforo có hỗ trợ một security token để chống lại các tấn công CSRF(Cross site request forgery). Để sử dụng security token {$visitor.csrf_token_page} trong form của bạn thêm dòng sau:
- Cross site request forgery là gì?
Nó là phương pháp mượn tay người để thực hiện một hành động không cho phép. Ví dụ, để có thể xóa một bài viết trên diễn đàn, một member có thể mượn tay của một moderator để làm việc đó vì member không đủ chủ quyền nhưng moderator lại đủ chủ quyền để thực hiện hành động này. (theo conmale)
Chúc các bạn thành công
Ví dụ: {xen:link}
1. Biến trong xenforo template.
- Biến là đại lượng được đặt tên, dùng để lưu giữ giá trị và giá trị có thể thay đổi trong quá trình thực hiện chương trình.
- Cú pháp: {$<ten-bien>} hoặc {$<ten-mang>.<phan-tu>}
- Quy tắc đặt tên biến
+ Ký tự bắt đầu phải là một chữ cái, còn các ký tự tiếp theo có thể là chữ số, gạch dưới, chữ cái. Ngoài mấy thứ kể trên ra, bạn không nên thêm bết cứ thứ gì khác vào tên biến
+ Không được có khoảng trắng
+ Các biến phân biệt chữ hoa chữ thừơng, vì thế ANH sẽ khác với Anh cũng như anh, để tránh rắc rối, ta nên dùng chữ thường cho tất cả tên biến và dùng dấu _ để phân cách thay cho khoảng trắng
2. Hiển thị các cụm từ (phrase).
- Để hiển thị 1 cụm từ (phrase) chúng ta sử dụng cú pháp
Code:
{xen:phrase <phrase-varname>}
Code:
{xen:phrase welcome_tuoitreit}
3. "<xen:require />"
- Hàm này có các thuộc tính sau: <type> = "<location>"
- <xen:require /> có chức năng tương tự như hàm require_once(<location>); trong PHP. Có nghĩa là nó cho phép chúng ta chèn code từ một template khác.
- Các kiểu dữ liệu chúng ta có thể dùng: css/js.
- Tất cả các hàm <xen:require phải được kết thúc bằng />
- Ví dụ:
Code:
<xen:require css="tuoitreit_vn.css" />
4. "<xen:include />"
- Hàm này có các thuộc tính tương tự như hàm require ở trên. Nhưng nó chỉ cho phép chèn một template và location là tên của template.
- Sự khác biệt lớn nhất giữ require và include là include có thể cho phép bạn khai báo template variable (biến).
- Ví dụ:
Code:
<xen:include template="tuoitreitdotvn">
<xen:set var="$TemplateVar">TemplateVarValue</xen:set>
</xen:include>
5. "<xen:set></xen:set>"
- Hàm này cho phép chúng ta khai báo biến trong một template.
- Cách sử dụng: <xen:set var="$<tenbien>"><giatricuabien></xen:set>
- Cách đặt tên biến giống như cách đặt tên biến ở PHP. Ví dụ
PHP:
$varname = not good
$_VarName = good
6. "<xen:if>{<xen:else />}</xen:if>"
- Cú pháp:
Code:
<xen:if <type>=”<condition>”>
true statments
{
<xen:else />
false statments
}
</xen:if>
- Ví dụ:
Code:
<xen:if is=”{$variable)”>
Biến “variable” tồn tại
<xen:else />
Biến “variable" không tồn tại
</xen:if>
- Để kiểm tra một biến, chúng ta có thể sử dụng "{$variable} <toán tử> '<giá trị>'".
+ Toán tử bao gồm: !=, <=, <, >, >=, <>.
+ Giá trị có thể là số hoặc chuối.
- Trong trường hợp có nhiều lệnh if lồng nhau thì else sẽ gắn liền với if gần nhất.
7. "<xen:foreach></xen:foreach>"
- Hàm <xen:foreach> có chức năng tương tự như vòng lặp ở trong PHP.
- Các thuộc tích của nó bao gồm "loop" và "value".
- Ví dụ:
Code:
<xen:foreach loop="$foo" value="$item">
statement block
</xen:foreach>
8. "<xen:title></xen:title>"
- Hàm <xen:title> có chức năng xác định "Tiêu đề" của trang.
- Cách sử dụng:
Code:
<xen:title>Your title</xen:title>
9. "{$visitor.csrf_token_page}"
Ngoài ra, có một chú ý cho các bạn khi tạo một template có chứa form. Xenforo có hỗ trợ một security token để chống lại các tấn công CSRF(Cross site request forgery). Để sử dụng security token {$visitor.csrf_token_page} trong form của bạn thêm dòng sau:
Code:
<input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
- Cross site request forgery là gì?
Nó là phương pháp mượn tay người để thực hiện một hành động không cho phép. Ví dụ, để có thể xóa một bài viết trên diễn đàn, một member có thể mượn tay của một moderator để làm việc đó vì member không đủ chủ quyền nhưng moderator lại đủ chủ quyền để thực hiện hành động này. (theo conmale)
Chúc các bạn thành công
Theo VXF