事情很简单:
从数据库里读出数据之后,数据库里是timestamp格式,数据进入volt之后,把官方volt 的语法读了一遍,没有找到直接可以用的方法,也没法直接写PHP来转换,怎搞?
自己加过滤器。
理解:
{{whateverthisis | e}} 管道符,把whateverthisis escapehtml 之后echo出来,类似 echo escapehtml($whateverthisis)
那自己在加一个过滤器就可以了
在service.php 里找到
$di->set('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' => '_'
));
$compiler = $volt->getCompiler();
$compiler->addFilter('formatT', function($resolvedArgs, $exprArgs) {
return 'date(\'Y-m-d H:i:s\',' . $resolvedArgs . ')';
});
return $volt;
},
'.phtml' => 'Phalcon\Mvc\View\Engine\Php'
));
return $view;
}, true);