01/10/2018, 16:49

Bài 03: Một số cú pháp cơ bản trong Smarty

Smarty hỗ trợ một vài cú pháp lập trình nâng cao , bao gồm : Biến, hằng If, elseif, else Điều khiển luồng dữ liệu, foreach. Hàm do người dùng địnhn nghĩa . ... 1. Một số cú pháp cơ bản trong Smarty. Nội dung Smarty Mở và đóng thẻ {} Ghi chú {* ghi chú một hoặc nhiều ...

Smarty hỗ trợ một vài cú pháp lập trình nâng cao , bao gồm :

  • Biến, hằng
  • If, elseif, else
  • Điều khiển luồng dữ liệu, foreach.
  • Hàm do người dùng địnhn nghĩa .
  • ...

1. Một số cú pháp cơ bản trong Smarty.

Nội dungSmarty
Mở và đóng thẻ {}
Ghi chú {* ghi chú một hoặc nhiều dòng*}
Khai báo biến

{assgin var = ten_bien value = giá trị}

Hiển thị biến {$ten_bien}

Hiển thị biến 

$_GET,

$_POST,

$_COOKIE, 

$_SESSION

{$smarty.get.page}

{$smarty.post.page}

{$smarty.cookies.username}

{$smarty.session.id}

Hiển thị giá trị một phần của mảng {$ten_mang[vi_tri]}
Duyệt mảng dùng vòng lặp foreach

{foeach ($ten_mang as $ten_phan_tu}

...

{/endforeach}

if

{if isset($foo) }

...

{/if}

Smarty cho phép bạn viết code PHP trong template với cặp thẻ {php}{/php}

Ví dụ:

{php}
     $name = "Nguyễn Văn A";
     echo $name;
{/php}

Để viết một khối mã Javascript(trừ việc khai báo biến) và CSS trong template bạn phải dùng cặp thẻ {literal} {/literal}.

Ví dụ:

{literal}
// Javascript
<script type="text/javascript">
    alert("Xin chào các bạn");
</script>
 
// CSS
<style type="text/css">
    a{ color:#C00000};
    b{ color:#C00000};
</style>
{/literal}

2. Caching - bộ nhờ đệm

  • Bộ nhớ đệm được sử dụng để tăng tốc độ gọi display() hoặc fetch() bằng cách lưu output vào file.
  • Nếu có một phiên bản được cache thì nó sẽ hiển thị thay vì regenerating.
  • Caching có thể tăng tốc độ trang lên rất nhiều, đặc biệt ddooid với template có thời gian tính toán dài
  • Lưu ý: template nào đang được cached và caching trong bao lâu.
  • Vị dụ ta hiển thị home page mà không thay đổi nội dung thường xuyên thị ta có thể cache trong 1, 2 giờ hoặc lâu hơn. Nếu là trang tin tức thay đổi nội dung thường xuyên thì không nên dùng cache

2.1 Thiết lập cache

  • Bằng cách đặt caching caching = 1 hoặc bằng 2
  • Khi caching = 1
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 1;
$smarty->display('index.tpl');
  • Khi caching = 2
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 2;
// thiết lập cache chi trang index là 5 phút.
$smarty->cache_lifetime = 300;
$smarty->display('index.tpl');

3.Kế thừa template

Ta có trang home.tbl

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="awidth=device-awidth">
  <title>{block name=title }Home Page{/block}</title>
</head>
<body>

</body>
</html>

page.tpl kế thừa home.tpl ta có block giống như một biến giữa block giá trị mặc định. Hàm kế thừa ta có thể thay đổi nội dung.

{extends file='Home.tpl"}
{block name=title }My Page{/block}
Bài liên quan

Một số khái niệm cơ bản trong Webpack

Giới thiệu Trong phần trước mình đã giới thiệu về Webpack, các đặc điểm và cách cài đặt của webpack, các bạn có thể tham khảo tại đây. Phần tiếp theo mình sẽ giới thiệu các khái niệm cơ bản trong webpack. Các khái niệm Về cốt lõi, webpack là một static module bundler cho các ứng dụng ...

Trần Trung Dũng viết 10:03 ngày 20/07/2019

Bài 03: Một số cú pháp cơ bản trong Smarty

Smarty hỗ trợ một vài cú pháp lập trình nâng cao , bao gồm : Biến, hằng If, elseif, else Điều khiển luồng dữ liệu, foreach. Hàm do người dùng địnhn nghĩa . ... 1. Một số cú pháp cơ bản trong Smarty. Nội dung Smarty Mở và đóng thẻ {} Ghi chú {* ghi chú một hoặc nhiều ...

Hoàng Hải Đăng viết 16:49 ngày 01/10/2018

Bài 09: Một số hàm/lệnh cơ bản MongoDb

Để làm việc được với MongoDB thì MongoDB cung cấp cho chúng ta một danh sách các hàm/lệnh. Các hàm/lệnh này giúp chúng ta thao tác và giao tiếp với CSDL này một cách thuận tiện. Trong bài viết này mình sẽ điểm qua một số hàm cơ bản hay sử dụng nhất trong MongoDB. Chúng ta sẽ đi theo tuần tự từ khâu ...

Trần Trung Dũng viết 16:39 ngày 01/10/2018

Bài 4: Cú pháp cơ bản C

Ở bài trước chúng ta đã học về cấu trúc cơ bản của một chương trình C, vì vậy sẽ rất dể dàng để hiểu các khối xây dựng cở bản khác của ngôn ngữ lập trình C Nhìn vào ví dụ của bài trước Cấu trúc chương trình C #include<stdio.h> int main(){ /* my first programin C */ ...

Vũ Văn Thanh viết 15:29 ngày 01/10/2018

Một số vấn đề cơ bản trong Laravel

Nội dung bài viết: Exception and Error Handler CSRF Protection Restful Resource Controllers Request & Responses Scope Accessors & Mutators Laravel cho phép quản lý 1 cách tập trung các exception với lớp appExceptionsHandler. Sử dụng lớp này cho phép chúng ta quản lý lỗi cũng ...

Trịnh Tiến Mạnh viết 18:14 ngày 12/08/2018
0