Home > PHP, Smarty > Cách chia côt với php smarty template engine

Cách chia côt với php smarty template engine

PHP Smarty template engine

Ví dụ: bạn muốn thể hiện một table bao gồm 4 cột và nhiều hàng

vidu.php

$product = array() //9 phần tử
$this->view->assign(‘product’, $product);
$this->view->assign(‘totalArr’,  sizeof($product));
file template engine vidu.tpl
<table border=”0″ cellpadding=”0″ cellspacing=”0″ width=”600″>
{foreach from=$product name=test item=prd}

{if $smarty.foreach.test.iteration mod 4 eq 1}
<tr>
{/if}

<td>
– ten san pham: {$prd.name} <br />
– gia san pham:  {$prd.price}

</td>

{if $smarty.foreach.test.iteration mod 4 eq 0 or $smarty.foreach.test.iteration eq $totalArr}
</tr>
{/if}

{/foreach}
</table>

Ghi chú:

– {if $smarty.foreach.test.iteration mod 4 eq 1}
$smarty.foreach.test.iteration = sẽ lấy giá trị phần tử đầu tiên là 1
$smarty.foreach.test.index = sẽ lấy giá trị đầu tiên là 0.
mod = phép chia
eq = giá trị là phép so sánh bằng của smarty template engine
=> Nếu giá trị chạy mảng product đầu tiên là = 1 thì  xuất ra thẻ (tag) <tr>

– {if $smarty.foreach.test.iteration mod 4 eq 0 or $smarty.foreach.test.iteration eq $totalArr}
Tương tự như trên nếu giá trị chạy mảng product chi cho 4 = 0 hoặc giá trị là giá trị là giá trị cuối cùng của mảng, nghĩa là = $totalArr thì xuất ra thẻ (tag) </tr>

ví dụ mảng trên có 9 phần tử mảng thì sẽ xuất ra 3 dòng 4 cột:

<table width=”600″ height=”221″ border=”1″>
<tr>
<td width=”160″>- ten san pham: AAA <br />
– gia san pham: 10000 đ</td>
<td>…vv</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>

 

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: