わかりましたので、アクションとそれに関連付けられた2つのルートを持つコントローラーがあります:
/**
* @Route("/index/preview/", name="mybundle.preview_index")
* @Route("/", name="mybundle.index")
* @Template
*/
public function indexAction(Request $request)
{
$preview = ($request->get('_route') === 'mybundle.preview_index');
$host = $request->getHttpHost(); //domain.com
if(!$preivew){
$host = 'domain2.com';
}
return array(
'preivew' => $preview,
'host' => $host,
'basePath' => $preview?'mybundle.preview_':'mybundle.',
);
}
次に、ホストに応じて twig テンプレート内にルートを生成します。
{{ path(basePath~'index') }}
//Then somehow pass the host to this so that i get the intended domain
プレビュー ルートを使用してこのルートにアクセスしていた場合、次のようになります。
domain.com/index/preview/
しかし、私がそうでなければ、それは私に与えるでしょう:
domain2.com/
私が試したこと
- コントローラー内からルーターコンテキストを設定しますが、小枝で生成されたルートは変更されません