#Phalcon笔记学习笔记
视图
- 分层渲染
渲染级别控制
- 级别
- 关闭渲染级别
$view->disableLevel(array( View::LEVEL_LAYOUT => true, View::LEVEL_MAIN_LAYOUT => true ));
选择视图(指定需要渲染的视图文件)
<?php class ProductsController extends \Phalcon\Mvc\Controller { public function listAction() { // Pick "views-dir/products/search" as view to render $this->view->pick("products/search"); // Pick "views-dir/products/list" as view to render $this->view->pick(array('products')); // Pick "views-dir/products/list" as view to render $this->view->pick(array(1 => 'search')); } }
关闭视图
方法一
class UsersController extends \Phalcon\Mvc\Controller { public function closeSessionAction() { //Close session //... //An HTTP Redirect $this->response->redirect('index/index'); //Disable the view to avoid rendering $this->view->disable(); } }
方法二(你可以返回一个“response”的对象,避免手动禁用视图)
class UsersController extends \Phalcon\Mvc\Controller { public function closeSessionAction() { //Close session //... //An HTTP Redirect return $this->response->redirect('index/index'); } }
使用局部模版(Using Partials)
<?php $this->partial("shared/ad_banner", array('id' => $site->id, 'size' => 'big')) ?>
控制器传值给视图
控制器中通过$this->view->setVar(name, value)
方法设置值在视图中使用模型
如下例子所示:<div class="categories"> <?php foreach (Categories::find("status = 1") as $category) { echo "<span class='category'>", $category->name, "</span>"; } ?> </div>
缓存视图片段
- TODO 需要进一步研究
- 模版引擎
- 创建模版引擎
- 替换模版引擎
- 注入服务到视图
- 独立的组件
视图事件
volt模板引擎
{{variable}}
打印一个变量{% if key in array %}
执行代码块- 过滤器
{{ title|过滤器1|过滤器2|...}}
- 注释
{# 注释内容 #}