[英]Symfony2 - call a controller from within a view
我想從內部調用控制器。 與C#.NET MVC 4.0類似。
我認為我可能有:
所有這些部分都是可重用的部分。 我極有可能在頁面的頂部始終保留Header,Normal nav和Footer部分。
我的控制器執行數據庫調用以獲取模型並將其泵送到我的視圖中。 我不想再擔心此代碼,因此只想從任何視圖調用此控制器的結果:偽代碼:
模板視圖:base.html.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php $view['slots']->output('title', 'Welcome!') ?></title>
<?php $view['slots']->output('stylesheets') ?>
<link rel="shortcut icon" href="<?php echo $view['assets']->getUrl('favicon.ico') ?>" />
</head>
<body>
<?php echo $view['actions']->render(SomethingBundle:Navigation:index); ?> // THIS LINE HERE
<h1><?php $view['slots']->output('pageTitle') ?></h1>
<?php $view['slots']->output('_content') ?>
</body>
所以這是我的模板頁面,我希望能夠在此頁面中包含導航視圖,但是導航需要一個模型,因此它也取決於導航控制器。
導航控制器:Controller / NavigationController
class NavigationController extends Controller
{
public function indexAction()
{
return $this->render(SomethingBundle:Navigation:index.html.php');
}
}
導航視圖:index.html.php
<ul>
<li>Home</li>
<li>About</li>
</ul>
顯然,以上代碼不起作用。 您如何在視圖中包括控制器的結果?
我從上面的代碼中得到的錯誤是:
[2/2] NotFoundHttpException: No route found for "GET Navigation:index" -+
[1/2] ResourceNotFoundException: -+
<?php echo $view['actions']->render(
new \Symfony\Component\HttpKernel\Controller\ControllerReference(
'YourBundle:NavigationController:index'
)
) ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.