2012-01-05 6 views
0

Я работаю в поисковых системах и искал в Интернете и не могу найти то, что мне нужно.Путь к веб-каталогу и активам в файлах .js в symfony2

Как получить путь к "веб" каталог в Symfony2 в

  • действия [нет идеи, я только нашел решение для старых версий Symfony:
    $ sf_relative_url_root = sfContext :: деЫпзЬапса() - > GetRequest() -> getRelativeUrlRoot();
    Я попытался также $ this-> получить ('security.context') -> GetRequest() -> getRelativeUrlRoot(), но он не работает]

  • .js файл

в случае .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/проект/главный/ , но это легко резать :) Второй вопрос left [js file] - есть ли лучший способ? –

+2

Может быть, 'Request :: getBasePath()' then? как для .js проще всего, я могу думать о том, чтобы установить base_url param в ваши параметры.ini, тогда вы можете получить к нему доступ в любой момент в качестве переменной ветви. Он также будет работать для контроллера – Inoryy

+0

Спасибо! На самом деле это должно быть $ this-> getRequest() -> getBasePath(). В случае js-файла я не могу использовать twig вещи в .js-файле, если бы я мог использовать {{asset ('smth')}} –