生成的项目多模块项目,volt引擎不起作用,js,css加载没反应,partials也不好使,视图没法输出,貌似是volt引擎没有注册成功还是其他原因?
ps:但是自带引擎。后缀为.phtml的格式的文件按照手册上是可以引入js,css,partials文件。在上面的基础上,把后缀变成.volt格式后,还需要改什么地方,才好使呢?
目录结构
下面是config/services.php中的部分代码,在生成项目时自动生成的
$di->setShared('view', function () use ($config) {
$view = new View();
$view->setViewsDir($config->application->viewsDir);
$view->registerEngines(array(
'.volt' => function ($view, $di) use ($config) {
$volt = new VoltEngine($view, $di);
$volt->setOptions(array(
'compiledPath' => $config->application->cacheDir,
'compiledSeparator' => '_'
));
return $volt;
},
'.phtml' => 'Phalcon\Mvc\View\Engine\Php'
// '.volt' => 'Phalcon\Mvc\View\Engine\Php'
));
return $view;
});
模块下的 Module.php 还是生成项目生产时的,没有变动!
在 views/index.volt中
加载partials
{{ partial("partials/header") }}
{{ partial("partials/main") }}
{{ partial("partials/footer") }}
加载js
{{ javascript_include("/js/1.11.3.jquery.min.js") }}
---------------2016年8月27日 23:00:00 补充------------------
Module.php中的路径
$di['view'] = function () {
$view = new View();
$view->setViewsDir(__DIR__ . '/views/');
return $view;
};
而项目目录如下图:
贴你的volt模板在DI中注册的代码部分
贴你的加载JS、CSS的代码部分
贴你使用partial的代码部分
贴代码!贴代码!贴代码!重说三!不贴代码就提代码相关的问题,都是耍流氓!
----------------2016.08.26更新---------------------------
1、检查“$config->application->viewsDir”的值是否指向你的“apps/frontend/views”目录
2、检查“$config->application->cacheDir”的值(原理同上)
3、检查你的JS、CSS加载的相对路径是否正确
4、然后把DI中注册view代码里的这一行注释掉:“'.phtml' => 'PhalconMvcViewEnginePhp'”
不论扩展名是.phtml还是.volt,程序应该都能正常加载,只是相对路径可能错误。以此为突破口去排查问题~
嗯,把Module.php中的下面这段代码注释掉就可以用volt了
但是,视图中的每一个文件都会生成一个类似于test.volt.php的文件,这个文件应该放在caches中最好,这应该是phalcon-devtools中生成项目时的问题吧!
我是用 phalcon project test modules 生成的项目,不知道还有没有其他办法!