2012-01-05 9 views
0

私はグーグルとグーグルで、私が必要とするものを見つけることができません。アクション[symfonyの古いバージョンのための全く分からない、私だけ見つかったソリューション symfony2の.jsファイル内のWebディレクトリとアセットへのパス

    • でSymfony2の中に "ウェブ" ディレクトリへのパスを取得する方法


      $ sf_relative_url_root = sfContextの::のgetInstance() - > getRequest() - > getRelativeUrlRoot();
      私もの$ this - を試みた>( 'security.context')を取得 -

    • の.jsが

    ファイル]> getRelativeUrlRoot()が、それは動作しません - >のGetRequest()私は小枝テンプレートで今のところそのような何か.jsファイルの場合

    <script type="text/javascript"> 
    var asset_url="{{asset(' ')}}"; 
    asset_url = asset_url.substr(0, asset_url.length-1); 
    </script> 
    <script href="{{asset('js/script.js')}}" type="text/javascript"></script> 
    

    は良い方法ですか?

  • +0

    私はそれを得ることはありません、なぜあなたは最初のJavaScriptコードが必要ですか?なぜ{{asset( 'js/script.js')}}を使用しないのですか? – Inoryy

    +0

    これはSymfony2に関する質問ですか? –

    +0

    .jsファイルで{{asset( 'smth')}}を使用することができないため、最初のjsコードが書かれています。 @elnur:最初の場合はそうだと思います。 –

    答えて

    1

    質問を正しく理解していれば、コントローラークラスでは$this->getRequest()->getUri()を探しています。

    Symfony\Component\HttpFoundation\Requestクラスを見てください。そうでない場合は、おそらくそこにあります。

    +0

    はほとんど、それが返されます。 ます。http://localhost/project/main/app_dev.php/action/ は私だけ のhttpたい:// localhost /をプロジェクト/メイン/ をしかし、それはカットするのは簡単です:) 2番目の質問をleft [js file] - もっと良い方法はありますか? –

    +2

    おそらく 'Request :: getBasePath()'?私が考えることができる最も簡単な方法は、parameters.iniにbase_url paramを設定することです。次に、twig変数としていつでもアクセスできます。それはコントローラのためにも動作します – Inoryy

    +0

    ありがとう!実際には$ this-> getRequest() - > getBasePath()でなければなりません。 jsファイルの場合は、.jsファイル内にtwigを使用できません。{{asset( 'smth')}} –

    関連する問題