| Recommend this page to a friend! |
| Info | Documentation | Reputation | Support forum | Blog | Links |
| Ratings | Unique User Downloads | Download Rankings | ||||
| Not yet rated by the users | Total: 57 | All time: 10,569 This week: 560 | ||||
| Version | License | PHP version | Categories | |||
| yii2-template-render 1.0.1 | MIT/X Consortium ... | 5.4 | PHP 5, Templates |
Facilitates rendering data in any custom format/structure with just a parent-view, child-view and DataProvider(Supports pagination, sorting, filtering and all other operations supported by DataProvider).
Though this extension is mainly intended for RESTful APIs built in Yii 2, it can be used anywhere in the application as explained below.
The preferred way to install this extension is through composer.
Either run
php composer.phar require codespede/yii2-template-renderer "*"
or add
"codespede/yii2-template-renderer": "*"
to the require section of your composer.json.
Suppose you want to deliver the data in CSV format like below:
title,image,content
ABC,abc.jpg,Content of ABC
MNO,mno.jpg,Content of MNO
XYZ,xyz.jpg,Content of XYZ
- Suppose you have to render the API response in a specific format like below:
-begin-
--title=ABC
--image=abc.jpg
--content=Content of ABC
---
--title=MNO
--image=mno.jpg
--content=Content of MNO
---
--title=XYZ
--image=xyz.jpg
--content=Content of XYZ
-end-
- Or in any situation where the you have to deliver custom formatted data through the API.
One can use this by simply returning the TemplateRenderer object in any action as shown in the below code:
public function actionRender(){
$dataProvider = new ActiveDataProvider(['query' => Model::find()->where($condition)])
return new \cs\templaterenderer\TemplateRenderer([
'dataProvider' => $dataProvider,
'parentView' => '/path/to/parent-view', //path to the parent or wrapper view file
'itemView' => '/path/to/item-view', //path to the item view file
]);
}
In the $parentView file, a placeholder {{items}} in the code will be replaced automatically with the collectively rendered result of $itemView for the models in the current page.
For example, if the content has to be rendered as shown in the second use case above, the $parentView file should be like:
-begin-
{{items}}
-end-
and the $itemView should be like:
--title=<?=$model->title?>
--image=<?=$model->image?>
--content=<?=$model->content?>
| File | Role | Description |
|---|---|---|
| Data | Auxiliary data | |
| Lic. | License text | |
| Doc. | Read me | |
| Class | Class source | |
| Class | Class source |
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% |
|
|
| Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.