为 ZF2 定制的主题系统
dev-master
2013-09-05 17:03 UTC
Requires
- php: >=5.3.3
- zendframework/zendframework: 2.2.*
This package is not auto-updated.
Last update: 2024-09-28 14:07:36 UTC
README
Zend Framework 2 (ZF2) 主题管理器
将以下行添加到您的应用程序的 composer.json 中
"require": {
"shadowfax/zf-themes": "dev-master"
}
在 index.php 中更改
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
为
Themes\Mvc\Application::init(require 'config/application.config.php')->run();
这将加载 ThemeManager
服务。
创建新的模块时,只需实现 Themes\ModuleManager\Feature\ThemeProviderInterface
...
use Themes\ModuleManager\Feature\ThemeProviderInterface;
...
class Module implements ThemeProviderInterface
{
...
public function getDir()
{
return __DIR__;
}
public function getNamespace()
{
return __NAMESPACE__;
}
...
}
主题应位于模块目录内的 themes
子目录中。至少应有一个名为 default
的主题。
示例树
- themes
- default
- my_new_theme
布局文件 layout.phtml
应位于主题的根目录下,其余部分与 Zend Framework 的 view
文件夹一样工作。
资产(CSS、JS、图片等)可以存储在主题下的 assets
文件夹中。以下是一个默认模块的示例条目。
- default
- assets
- css
- layout.css
- bootstrap.css
- js
- jquery.js
- css
- application
- index
- index.phtml
- index
- layout.phtml
- assets
该模块创建了一个名为 assets
的路由。资产的重定向是
/assets/:modules/*
其中 *
是实际资产的相对路径。
将 Zend Framework 2 应用程序移植到基于主题的应用程序应该非常简单,您只需更改 view
文件夹的名称为 default
,将其移动到名为 themes
的文件夹中,并移动布局文件,即可完成。