我正致力于发展动荡。这种情感通常包含多个设计,我希望能够根据环境/设计来定义视图脚本。
首先我想使用超级全局,但在网上阅读后,其他开发人员告诉你不要使用它。
我想问一下
我应该以什么方式这样做?
我的想法是定义一个超级全局(仍然不确定如何),如:
somefile
$url = $_SERVER['HTTP_HOST'];
$splitdomain = explode(".",$url);
define('__SUBDOMAIN__', $splitdomain[0]);
然后在模块配置
中'view_manager' => array(
'template_path_stack' => array(
__SUBDOMAIN__.'/'.__NAMESPACE__.'/view/',
__DIR__ . '/../view',
),
),
答案 0 :(得分:0)
为了跟踪配置,并按照建议的做法添加
$url = $_SERVER['HTTP_HOST'];
$splitdomain = explode(".",$url);
define('__SUBDOMAIN__', $splitdomain[0]);
define('__THEME__', $splitdomain[0]);
位于application.config.php。
的顶部我改变了
'config_glob_paths' => array(
'config/autoload/{,modules/*/}{,*.}{global,local}.php',
),
(我自己想要更容易地跟踪模块) 然后我创建了
config/modules/Application/local.php
这里我添加了设计模板,布局等的解析。
<?php
namespace Application;
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
return array(
'view_manager' => array(
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => array(
'layout/layout' => __DIR__ . '/../../../../../views/designs/'.__THEME__.'/'.__NAMESPACE__.'/layout/layout.phtml',
'application/index/index' => __DIR__ . '/../../../../../views/designs/'.__THEME__.'/'.__NAMESPACE__.'/index/index.phtml',
'error/404' => __DIR__ . '/../../../../../views/designs/'.__THEME__.'/'.__NAMESPACE__.'/error/404.phtml',
'error/index' => __DIR__ . '/../../../../../views/designs/'.__THEME__.'/'.__NAMESPACE__.'/error/index.phtml',
),
'template_path_stack' => array(
__DIR__ . '/../../../../views/designs/'.__THEME__.'/'.__NAMESPACE__.'/',
),
),
);
然后我对其他模块做了同样的事情,这样我就可以为不同的客户端分离设计而无需部署整个系统。