Trang chủ > php cơ bản > Chương 3 – template (tt) Sử dụng Smarty Template

Chương 3 – template (tt) Sử dụng Smarty Template

Smarty config:
kết nạp Smarty Class

Code:

<?php
define
(‘SMARTY_DIR’, ‘/Path/to/Smarty/’
);
require_once(
SMARTY_DIR. ‘Smarty.class.php’
);
?>

Tạo lớp:

Code:

<?php
$smarty
= new Smarty
();
?>

Tạo thêm các hàm sau:

Code:

<?php
$smarty
->compile_check = true
// kiểm tra xem template đã có thay đổi gì không, nếu có, nạp dữ liệu mới
$smarty->caching = true
// bật hàm caching
?>

Ta cần 4 folders :
– templates ( Chứa đựng các Templates, trong hộp này ta cũng có thể tào thêm các hộp con (subfolder)
– templte_c ( Chứa các templates được Smarty compiled)
– configs (Cho các tệp tin configs)
-cache ( cho các templates Cache) // chỉ là option thôi khong có không sao

Smarty luôn tìm nhũng hộp (folder) này khi php hoạt động. Ta có thể định đường dẫn như thế này:

Code:

<?php
$smarty
->template_dir = ‘/path/to/Template_Folder/’
;
$smarty->compile_dir = ‘/path/to/Template_c_Folder/’
;
$smarty->config_dir = ‘/path/to/Config_Folder/’
;
$smarty->cache_dir = ‘/path/to/Cache_folder/’
;

?>

1) Đưa một giá trị (value) đến Smarty Class.

Code:

<?php
// Array, có thể lấy từ Database

$array = array(
0 => array( ‘id’ => 1
,
‘text’ => ‘test’
),
1 => array( ‘id’ => 2
,
‘text’ => ‘foobar’
),
2 => array( ‘id’ => 3
,
‘text’ =>
‘another test’
));

$test = ‘string’;
$test2 = 2
;

$smarty->assign(‘test_array’, $array);
$smarty->assign(‘test’, $test
);
$smarty->assign(‘test2’, $test2
);
?>

2) Tích hợp Template.tpl

Code:

<body><table><tr>
Variable test : {$test}
Variable test2 : {$test2}

{foreach from=$test_array item=arr}
Item ID : {$arr.id}
Text From : {$arr.text}
{/foreach}
</tr></table></body>

Template sẽ hiển thị 2 thông số Test & Test2 như đã định trong têp .php , kế tiếp lệnh foreach sẽ được kích họat.Trong loop này bao gồm 2 Params có trị số from và item .from là thuộc tinh array và item là tên biến được trả về với biến {$arr.id} tương tự như value của 1 array : $arr[‘id’].
Thử test xem template có work không nha. vd:tên tệp của template là test.tpl

Code:

<?php
$smarty
->display(‘test.tpl’
);
?>

Nếu trình duyệt xuất ra dòng Text thì bạn đã thành công. Smarty còn nhiều function khác nữa.Đây chỉ là một gợi ý nhỏ cho việc sự dụng Smarty Template.

test_file.php:

Code:

<?php

define(‘SMARTY_DIR’, ‘/xampp/htdocs/smarty/libs/’);
require_once(
SMARTY_DIR. ‘Smarty.class.php’
);

$smarty = new Smarty;

$smarty->compile_check = true;
$smarty->debugging = true
;
//$smarty->caching = true // bật hàm caching

$array = array(
0 => array( ‘id’ => 1
,
‘text’ => ‘test’
),
1 => array( ‘id’ => 2
,
‘text’ => ‘foobar’
),
2 => array( ‘id’ => 3
,
‘text’ =>
‘another test’
));

$test = ‘string’;
$test2 = 2
;

$smarty->assign(‘test_array’, $array);
$smarty->assign(‘test’, $test
);
$smarty->assign(‘test2’, $test2
);

$smarty->display(‘test.tpl’);

?>

test.tpl

Code:

<body><table><tr>
Variable test : {$test}
Variable test2 : {$test2}

{foreach from=$test_array item=arr}
Item ID : {$arr.id}
Text From : {$arr.text}
{/foreach}
</tr></table></body>

test.conf (trong config folder)

Code:

title = Welcome to Smarty!
cutoff_size = 40

[setup]
bold = true

Sưu tầm

Chuyên mục:php cơ bản
  1. Chưa có phản hồi.
  1. No trackbacks yet.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: