Rain TPL Yii View Renderer ¶
Rain TPL Yii View Renderer
The easy and fast template engine for PHP. Rain.TPL makes application easier to create & enables designers/developers to work better together.
- Project Page
- Download
- Documentation
- Speed Test
- Github Project Page
- Yii Extension Github Project Page
Requirements ¶
- PHP 5
- Yii 1.1.10 (Tested on 1.1.10 but should work on older versions as well)
Installation ¶
- Download or Clone the files
- Extract into the extensions folder
- Edit the application config file and add the following array under the 'components' array:
'viewRenderer'=>array(
'class'=>'application.extensions.RainTPLViewRenderer',
),
Configure ¶
The available options you can set for this view renderer are:
'viewRenderer'=>array(
'class'=>'application.extensions.RainTPLViewRenderer',
// File extension used for views
'fileExtension' => '.tpl',
// is the template directory
'tpl_dir' => null,
// where it save compiled templates and cache
'cache_dir' => null,
// the absolute base url of your application (eg. http://www.raintpl.com)
'base_url' => null,
// enable/disable the path replace
'path_replace' => false,
// configure what to replace
'path_replace_list' => array(),
// configure what command are not allowed
'black_list' => array(),
// enable/disable the control if template was modified by the last compiling
'check_template_update' => true,
// enable/disable the use of php tags in your template
'php_enabled' => false,
// Use the latest beta version for rain tpl 3
'useRainBeta' => false,
// Will not cache templates
'debug' => false,
// Auto escape variables
'auto_escape' => false,
),
Usage ¶
To render a view you would call the render method the same way ¶
$this->render('someview', $params);
Template Syntax Examples ¶
PHP | Rain TPL |
<?php echo $var; ?> | {$var} |
<?php echo CONSTANT; ?> | {#CONSTANT#} |
<?php $num + 10; ?> | {$num + 10} |
<?php echo $website['name']; ?> | {$website.name} |
<?php echo $GLOBALS['name']; ?> | {$GLOBALS.name} |
<?php if($year > 18) {echo 'major';}?> | {if="$year > 18"}major{/if} |
<?php if($year > 18) {echo 'major';} else {echo 'not major';}?> | {if="$year > 18"}major{else}not major{/if} |
<?php if() {echo 'Hello' . $name} else{ echo 'Not Logged'; } ?> | {if="isLogged()"}Hello {$name}{else}Not Logged{/if} |
<?php echo $is_logged ? 'Hellow' . $name : 'Not logged'; ?> | {$is_logged? 'Hello $name':'Not logged'} |
<?php foreach($user_list as $key => $value) {echo $key . '-' . $value['name'] . ' '}?> |
{loop="user_list"} {$key} - {$value.name} {/loop} |
<?php include 'footer'; ?> | {include="footer"} |
<?php echo cut_html($news, 0, 12); ?> | {$news|cut_html:0,12} |
<?php pagination( $selected_page, NEWS_PER_PAGE, URL ); ?> | {function="pagination( $selected_page, NEWS_PER_PAGE, URL )"} |
<?php echo substr($string,0,5); ?> | {function="substr($string,0,5)"} |
<?php /* comment */ ?> | {* comment *} |
For more info see Documentation
Authors ¶
Vincent Gabriel http://vadimg.com
Add Widget
How to add widget in view?
How to use $this in view?
Can't get $this values!
Example:
$this->widget('CCaptcha')
{this.property} doesn't seem to work!
Getting Yii::app() values
You can get Yii::App() values by using {$Yii->property}
Example: {$Yii->params['adminEmail']}
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.