neilime/zf2-tree-layout-stack

此软件包已被废弃,不再维护。没有建议的替代软件包。

TreeLayoutStack 是一个 ZF2 模块,允许创建树形布局

1.0 2013-08-19 16:12 UTC

This package is auto-updated.

Last update: 2020-08-09 19:08:35 UTC


README

⚠️ 此模块适用于 Zend Framework 2,它已被弃用 ⚠️

Build Status Latest Stable Version Total Downloads Code coverage

注意:如果您想贡献,请毫不犹豫,我会审查任何 PR。

介绍

TreeLayoutStack 是一个 ZF2 模块,允许创建树形布局

要求

安装

主要设置

通过克隆项目

  1. 将此项目克隆到您的 ./vendor/ 目录中。

使用 composer

  1. 在您的 composer.json 中添加此项目

    "require": {
        "neilime/zf2-tree-layout-stack": "dev-master"
    }
  2. 现在运行以下命令让 composer 下载 TreeLayoutStack

    $ php composer.phar update

安装后

  1. 在您的 application.config.php 文件中启用它。

    <?php
    return array(
        'modules' => array(
            // ...
            'TreeLayoutStack',
        ),
        // ...
    );

如何使用 TreeLayoutStack

简单配置示例

此示例展示了如何定义一个包含头部和尾部部分的简单树形布局堆栈

  1. 在安装框架应用后,按照上述说明安装 TreeLayoutStack

  2. 编辑应用程序模块配置文件 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'
    			//...
    		)
    	)
        //...
    );
  3. 编辑布局文件 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
    	//...	
  4. 创建头部和尾部视图文件 module/Application/view/layout/header.phtmlmodule/Application/view/layout/footer.phtml

  5. 保存并刷新。

配置

  1. TreeLayoutStack :
  • array layout_tree:定义布局树,您可以根据模块名称定义不同的树形布局堆栈,如果没有为当前模块定义模板,则使用 default 配置
  1. 模块布局树映射(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
						)
					)									
				)
			)
		)
    ),
    //...
);
```