sebaks / view
该软件包最新版本(0.1.2)没有可用的许可证信息。
0.1.2
2016-12-05 13:56 UTC
Requires
- php: >=5.5
- zendframework/zend-eventmanager: <2.6 >=2.4
- zendframework/zend-http: <2.6 >=2.4
- zendframework/zend-modulemanager: <2.6 >=2.4
- zendframework/zend-mvc: <2.6 >=2.4
- zendframework/zend-servicemanager: <2.6 >=2.4
- zendframework/zend-view: <2.6 >=2.4
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-14 19:09:23 UTC
README
ZF2 模块。通过配置构建模板。用于重复使用模板块和代码的解决方案。
简介
在我们看来,视图包含3个部分
- 布局(为多个URI设置的一般视图样式)
- 内容(单页模板 - 用于显示一个URI)
- 块(视图的一些功能部分 - 一个URI可以有多个块)
每个 块
包含
'admin-show-list' => [ 'extend' => 'admin-list', 'layout' => 'admin-layout', 'template' => 't4web-admin/content/list', 'viewModel' => 'Shows\Action\Admin\Show\CreateAction\ListViewModel', 'childrenDynamicLists' => [/*...*/], 'data' => [/*...*/], 'children' => [/*...*/], ],
如果存在键 extend
- 不需要其他键,将继承自父视图。每个键将与父视图合并。您可以一次描述一些块并在任何地方重复使用它们。
块选项
-
extend
- 描述父视图,所有配置键将继承并与当前配置合并 -
layout
- 定义页面布局名称,它只对contents
有意义,不对blocks
有意义(因为layout
可以影响整个路由\URI) -
template
- 当前块的模板名称 -
viewModel
- 当前块的特定 ViewModel(它可以隐藏当前块的复杂视图逻辑) -
childrenDynamicLists
- -
data
- 视图中的变量数组。data
可以是data['static']
和data['fromGlobal']
。data['static']
- 静态变量,例如标签、图标、一些文本等。data['fromGlobal']
- 可由控制器获取的动态数据。
-
children
- 描述子块,这些子块以块的形式描述,并可以像模板中的属性一样访问<div class="box"> <div class="box-body no-padding"> <?= $this->table ?> </div> <div class="box-footer"> <?= $this->paginator ?> </div> </div>
在这种情况下,
table
和paginator
将被渲染为子块。
配置必须在键 sebaks-view
中。
contents
中的每个键 - 路由名称。
配置示例
在您的 module.config.php
中某处
'sebaks-view' => [ 'layouts' => [ 'admin' => [ 'template' => 'layout/admin', 'children' => [ 'top-panel' => 't4web-admin-top-panel', 'sidebar-menu' => 't4web-admin-sidebar-menu', ], ] ], 'contents' => [ 'admin-user-list' => [ // you project must contain route name admin-user-list 'template' => 't4web-admin/index/index', 'layout' => 'admin', 'children' => [ 'filter' => 't4web-admin-list-filter', 'table' => 't4web-admin-list-table', 'paginator' => 't4web-admin-list-paginator', ], 'variables' => [ 'title' => 'List of users', ], ] ], 'blocks' => [ 't4web-admin-top-panel' => [ 'template' => 't4web-admin/top-panel', ], 't4web-admin-sidebar-menu' => [ 'template' => 't4web-admin/sidebar-menu', ], 't4web-admin-list-filter' => [ 'template' => 't4web-admin/list-filter', ], 't4web-admin-list-table' => [ 'template' => 't4web-admin/list-table', 'children' => [ 'table-head' => 't4web-admin-list-table-head', 'table-row' => 't4web-admin-list-table-row', ], ], 't4web-admin-list-table-head' => [ 'template' => 't4web-admin/list-table-head', ], 't4web-admin-list-table-row' => [ 'template' => 't4web-admin/list-table-row', ], 't4web-admin-list-paginator' => [ 'template' => 't4web-paginator/paginator', ], ], ],