第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Symfony 2.8:如何本地化頁面名稱在變量中的 URL?

Symfony 2.8:如何本地化頁面名稱在變量中的 URL?

PHP
嗶嗶one 2023-05-12 15:47:54
我正在維護一個用 Symfony 2.8 開發(fā)的項目。其中,除了業(yè)務(wù)邏輯部分,還有幾個靜態(tài)頁面,原開發(fā)者是通過在controller中創(chuàng)建一個方法來處理的:   /**     * @Route("/{page}/", name="pagina")     */    public function pagesAction(Request $request, $page)    {        if (!$this->get('templating')->exists('default/'. $page . '.html.twig')) {            throw new NotFoundHttpException();        }        return $this->render('default/' . $page . '.html.twig');    }然后將其添加到routing.yml:pages:    path: /{page}/    defaults: { _controller: AppBundle:Default:pages }現(xiàn)在我需要本地化這些靜態(tài)頁面 URL,我想知道如何去做。我可以手動在 HTML 模板中生成 URL:<a href="/{{ app.request.locale }}/{{ 'static_page'|trans }}">但是我需要有幾個不同的靜態(tài) HTML 模板,其中包含每個本地化頁面的名稱:pagina_estatica.html.twigstatic_page.html.twig等等 我寧愿每個靜態(tài)頁面都有一個 HTML 模板,即使其中的內(nèi)容已本地化。該應(yīng)用程序使用 JMSTranslationBundle 來翻譯 Twig 模板中的字符串。我可以從控制器內(nèi)部訪問 JMS 翻譯文件,以便$page從其翻譯中獲取規(guī)范名稱嗎?還有其他方法可以解決這個問題嗎?
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

有多種方法可以解決這個問題,但我認(rèn)為最簡單的解決方案是在控制器中實現(xiàn)某種映射。


您可以輕松地將 switch case 導(dǎo)出到服務(wù)或靜態(tài)方法,以便在不同的地方使用它。


在示例中,我引入了一個新變量$templateFile以使其更加清晰。


   /**

     * @Route("/{page}/", name="pagina")

     */

    public function pagesAction(Request $request, $page)

    {

        // translated page name to template mapping

        switch($page){

            case 'pagina_estatica':

                $templateFile = 'static_page';

                break;

            default:

                $templateFile = $page;

        }


        if (!$this->get('templating')->exists('default/'. $templateFile . '.html.twig')){

            throw new NotFoundHttpException();

        }


        return $this->render('default/' . $templateFile . '.html.twig');

    }


查看完整回答
反對 回復(fù) 2023-05-12
  • 1 回答
  • 0 關(guān)注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號