2013-09-08

利用 renderPartial() 重複使用 view

Yii 可以利用 renderPartial() 引用某個 view。
例如有個 view 的路行為 views/common/part1.php,內容為:
<table>
    <tr>
        <td>Name</td>
        <td>Phone</td>
    </tr>
    <tr>
        <td><?php echo !empty($name) ? $name : 'anonymous'; ?></td>
        <td><?php echo !empty($phone) ? $phone : ''; ?></td>
    </tr>
</table>

在另外的 view 可以使用 renderPartial() 引用:
<?php
$this->renderPartial('//common/part1', array(
    'name' => 'John',
    'phone'=> '123456',
));
?>
renderPartial() 是 controller 的方法,所以也可以在 controller 裡面使用。
第一個參數為 view 的路徑,路徑中的 // 指的是 views/ 的路徑。
第二個參數為關聯式陣列,包含欲傳入的變數。
第三個參數為「是否回傳」,預設值為 false,就是直接輸出,不回傳。若為 true,則是不輸出,只回傳字串。

沒有留言:

FB 留言