View 使用路由器时Phalcon不呈现视图操作
我对Phalcon PHP有一个问题。与路由一起使用时,它无法显示控制器操作的视图 例如:View 使用路由器时Phalcon不呈现视图操作,view,routes,action,phalcon,View,Routes,Action,Phalcon,我对Phalcon PHP有一个问题。与路由一起使用时,它无法显示控制器操作的视图 例如: use Vokuro\Models\Terms; use Vokuro\Models\Games; class FrontendController extends ControllerBase { public function gamedetailAction($slug, $id) { echo "This is gamedetail Action";
use Vokuro\Models\Terms;
use Vokuro\Models\Games;
class FrontendController extends ControllerBase
{
public function gamedetailAction($slug, $id) {
echo "This is gamedetail Action";
$game = Games::findFirstById($id);
if (!$game) {
$this->flash->error("Game does not exist");
}
else {
$this->view->game = $game;
$this->view->screenshots = $game->screenshot;
}
}
}
{{ game.title }
{{ content() }}
结果只是显示了gamedetail action的文本:“这是gamedetail action”,而不是视图中的游戏标题
app/config/routes.php
:
$router = new Phalcon\Mvc\Router();
$router->add("/game/([a-z0-9\-]+)-([0-9]+).html", array(
'namespace' => 'Vokuro\Controllers\\',
'controller' => 'Frontend',
'action' => 'gamedetail',
'slug' => 1,
'id' => 2
))->setName("game-detail");
use Vokuro\Models\Terms;
use Vokuro\Models\Games;
class FrontendController extends ControllerBase
{
public function gamedetailAction($slug, $id) {
echo "This is gamedetail Action";
$game = Games::findFirstById($id);
if (!$game) {
$this->flash->error("Game does not exist");
}
else {
$this->view->game = $game;
$this->view->screenshots = $game->screenshot;
}
}
}
/app/controllers/FrontendController.php
use Vokuro\Models\Terms;
use Vokuro\Models\Games;
class FrontendController extends ControllerBase
{
public function gamedetailAction($slug, $id) {
echo "This is gamedetail Action";
$game = Games::findFirstById($id);
if (!$game) {
$this->flash->error("Game does not exist");
}
else {
$this->view->game = $game;
$this->view->screenshots = $game->screenshot;
}
}
}
app/views/frontend/gamedetail.volt
use Vokuro\Models\Terms;
use Vokuro\Models\Games;
class FrontendController extends ControllerBase
{
public function gamedetailAction($slug, $id) {
echo "This is gamedetail Action";
$game = Games::findFirstById($id);
if (!$game) {
$this->flash->error("Game does not exist");
}
else {
$this->view->game = $game;
$this->view->screenshots = $game->screenshot;
}
}
}
{{ game.title }
{{ content() }}
应用程序/视图/布局/前端.volt
use Vokuro\Models\Terms;
use Vokuro\Models\Games;
class FrontendController extends ControllerBase
{
public function gamedetailAction($slug, $id) {
echo "This is gamedetail Action";
$game = Games::findFirstById($id);
if (!$game) {
$this->flash->error("Game does not exist");
}
else {
$this->view->game = $game;
$this->view->screenshots = $game->screenshot;
}
}
}
{{ game.title }
{{ content() }}
检查事项:
- 服务器上的视图具有正确的读/写权限
- 我认为Phalcon对命名是区分大小写的。注意你是如何使用“前端”和“前端”的
- 服务器上的视图具有正确的读/写权限
- 我认为Phalcon对命名是区分大小写的。注意你是如何使用“前端”和“前端”的
那太好了!我将路由器配置中的“前端”改为“前端”,它可以工作。我只想指出,在匹配模板名称时,phalcon控制器/路由器是不区分大小写的,Volt/View是区分大小写的(如我的phalcon 1.3.2版本)。这太棒了!我将路由器配置中的“前端”改为“前端”,它可以工作。我只想指出,在匹配模板名称时,phalcon控制器/路由器是不区分大小写的,Volt/View是区分大小写的(如我的phalcon 1.3.2版本)。