我正在为PhalconPHP应用程序使用"多模块"MVC结构.
我想弄清楚的一个问题是如何配置我的"主布局"视图在模块视图文件夹上方.
换句话说,我想要一个主"主要布局"(如此处所述),我希望我的所有模块在该主布局视图中的"控制器视图"级别输出其视图.
默认情况下,将显示正在进行主布局视图
[app]
[module1]
[controllers]
[models]
[views]
(main layout is coming from here)
[module2]
[controllers]
[models]
[views]
(main layout is coming from here)
[views]
(master main layout should come from here?)
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的!
您正在寻找的内容无法在此版本(0.5.0 稳定版)或下一版本 0.6.0 中完成(因为它已冻结,待发布)。
在您的模块中您注册您的观点
// /module1/Module.php
// Registering the view component
$di->set(
'view',
function () {
$view = new \Phalcon\Mvc\View();
$view->setViewsDir('../apps/module1/views/');
return $view;
}
);
// /module2/Module.php
// Registering the view component
$di->set(
'view',
function () {
$view = new \Phalcon\Mvc\View();
$view->setViewsDir('../apps/module2/views/');
return $view;
}
);
Run Code Online (Sandbox Code Playgroud)
等等。
您还可以拥有所有模块通用的主视图,但不是两者的组合。
//Registering a shared view component
$di->set(
'view',
function() {
$view = new \Phalcon\Mvc\View();
$view->setViewsDir('../apps/views/');
return $view;
}
);
Run Code Online (Sandbox Code Playgroud)
请参阅Github 上的此示例。
这很可能是 0.7 版本的 NFR。
| 归档时间: |
|
| 查看次数: |
7069 次 |
| 最近记录: |