1
是否有可能在Symfony2有一個單獨的控制器只有頭部例如?Symfony額外的控制器的標題
$this->render('MYBundle::page.html.twig', array('header' => $header));
否則我需要在每個頁面的每個控制器中添加標題值。
是否有可能在Symfony2有一個單獨的控制器只有頭部例如?Symfony額外的控制器的標題
$this->render('MYBundle::page.html.twig', array('header' => $header));
否則我需要在每個頁面的每個控制器中添加標題值。
我建議你編輯響應全球使用內核響應事件,如例如,定義一個監聽器:
namespace Acme\DemoBundle\EventListener;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
class ResponseListener
{
public function onKernelResponse(FilterResponseEvent $event)
{
$request = $event->getRequest();
// only do something when the requested format is "json"
if ($request->getRequestFormat() != 'json') {
return;
}
// only do something when the client accepts "text/html" as response format
if (false === strpos($request->headers->get('Accept'), 'text/html')) {
return;
}
// set the "Content-Type" header of the response
$event->getResponse()->headers->set('Content-Type', 'text/plain');
}
}
並註冊如下:
/src目錄/阿克米/ DemoBundle /資源在此文章/services.xml
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="acme.filter_response_listener" class="Acme\DemoBundle\EventListener\ResponseListener">
<tag name="kernel.event_listener" event="kernel.response" method="onKernelResponse" />
</service>
</services>
</container>
更多信息:
希望這有助於
,你想你可以做一個子請求到另一個控制器,得到響應,幷包含它。 https://symfony.com/doc/current/templating/embedding_controllers.html – Federkun