私はSymfonyを初めて使用し、コントローラーでルーティングするために多くのtwightmlテンプレートとこの関数を作成しました。
/**
* @Route("/{path}")
*/
public function renderTemplate($path) {
return $this->render('/'.$path.'/index.html.twig');
}
?>
renderTemplate()関数は、すべての第1レベルのフォルダーで正常に機能しますが、「/」の後に中断するように見えるため、サブディレクトリファイルでは機能しません。何十もの新しいRoute関数を書きたくありません。
「/」で区切られたサブディレクトリを含むすべてのサイトを実装するにはどうすればよいですか?
安全な実践と簡単な解決策は何ですか?
私の小枝テンプレートフォルダの構造は次のとおりです:テンプレートフォルダ
どうやら、次のように変数に「/」を許可できます。
use Symfony\Component\Routing\Annotation\Route;
class DefaultController
{
/**
* @Route("/share/{token}", name="share", requirements={"token"=".+"})
*/
public function share($token)
{
// ...
}
}
すべての小枝テンプレートに「index.html.twig」という名前を付け、それらをテンプレートフォルダー内の対応するファイルパスに配置しました。これで、すべてのサイトで関数が非常にスムーズに機能するようになりました。
後で個別のリクエストを行うために変更する必要があるかもしれませんが、簡単で見栄えの良いリンクとコントローラー内の1つのルート機能だけですべてのページを表示できるのは便利な短期的な解決策でした。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加