neilime / zf2-tree-layout-stack
此软件包已被废弃,不再维护。没有建议的替代软件包。
TreeLayoutStack 是一个 ZF2 模块,允许创建树形布局
1.0
2013-08-19 16:12 UTC
Requires
- php: >=5.3.3
- zendframework/zendframework: 2.*
This package is auto-updated.
Last update: 2020-08-09 19:08:35 UTC
README
⚠️ 此模块适用于 Zend Framework 2,它已被弃用 ⚠️
注意:如果您想贡献,请毫不犹豫,我会审查任何 PR。
介绍
TreeLayoutStack 是一个 ZF2 模块,允许创建树形布局
要求
- Zend Framework 2 (最新 master)
安装
主要设置
通过克隆项目
- 将此项目克隆到您的
./vendor/
目录中。
使用 composer
-
在您的 composer.json 中添加此项目
"require": { "neilime/zf2-tree-layout-stack": "dev-master" }
-
现在运行以下命令让 composer 下载 TreeLayoutStack
$ php composer.phar update
安装后
-
在您的
application.config.php
文件中启用它。<?php return array( 'modules' => array( // ... 'TreeLayoutStack', ), // ... );
如何使用 TreeLayoutStack
简单配置示例
此示例展示了如何定义一个包含头部和尾部部分的简单树形布局堆栈
-
在安装框架应用后,按照上述说明安装 TreeLayoutStack。
-
编辑应用程序模块配置文件
module/Application/config/module.config.php
,添加以下配置片段<?php return array( //... 'tree_layout_stack' => array( 'layout_tree' => array( 'default' => array( 'template' => 'layout/layout', 'children' => array( 'header' => 'header/header', 'footer' => 'footer/footer' ) ) ) ), //... 'view_manager' => array( 'template_map' => array( //... 'layout/layout' => __DIR__ . '/../view/layout/layout.phtml', 'header/logged' => __DIR__ . '/../view/layout/header.phtml', 'footer/footer' => __DIR__ . '/../view/layout/footer.phtml' //... ) ) //... );
-
编辑布局文件
module/Application/view/layout/layout.phtml
,在您希望显示它们的位置添加头部和尾部//... echo $this->header; //Display header part //... //... echo $this->layout()->content; //Display content part //... //... echo $this->layout()->footer; //Display footer part //...
-
创建头部和尾部视图文件
module/Application/view/layout/header.phtml
和module/Application/view/layout/footer.phtml
-
保存并刷新。
配置
- TreeLayoutStack :
- array
layout_tree
:定义布局树,您可以根据模块名称定义不同的树形布局堆栈,如果没有为当前模块定义模板,则使用default
配置
- 模块布局树映射(
layout_tree
条目)
- string|array|callable template:定义模板名称
- array children:(可选)定义模板的子项,配置与
layout_tree
条目或template
相同
复杂示例
此示例展示了所有可用的配置选项,假设 template_map
已在 view_manager
配置中正确定义
```php
<?php
return array(
//...
'tree_layout_stack' => array(
'layout_tree' => array(
'default' => array(
'template' => 'layout/layout',
'children' => array(
'header' => function(\Zend\Mvc\MvcEvent $oEvent){
return $oEvent->getViewModel()->isLoggedUser?'header/logged':'header/unlogged' // Current MVC event is passed as argument to the callable template
},
'footer' => array(
'template' => 'footer/footer',
'children' => array(
'social' => 'footer/social',
'sitemap' => array('SampleClass','SampleFunction') //Sample callback
)
)
)
)
)
),
//...
);
```