Symfony2: Как установить корневой путь в команде CLI Symfony - PullRequest
4 голосов
/ 09 марта 2012

РЕДАКТИРОВАТЬ: чтобы сократить это: есть ли способ вызвать $ kernel-> getRootDir ();изнутри расширения ветки?Или, может быть, из контейнера DI?

ОРИГИНАЛЬНЫЙ ВОПРОС:

Я пытаюсь масштабировать изображения на сервере с помощью Imagine.Все отлично работает как log, так как я не пытаюсь запустить рендеринг через командную строку: в этом случае похоже, что указан неверный путь - я получаю сообщение об ошибке:

[Twig_Error_Runtime]

Возникла исключительная ситуация при визуализации шаблона («Файл ../web/documents/4f59ef3f76e74_test3.jpg не существует») в «....: detail.html.twig»в строке 72.

Я использую тег ветки, который я написал сам:

 public function thumbnail($path,$width,$maxHeight=0,$alt="",$absolute=false){

        /* @var $imagine \Imagine\Gd\Imagine */
        $imagine = $this->container->get('imagine');

        //$box = new \Imagine\Image\Box($width, $height);

        /* @var $image \Imagine\Image\ImageInterface */
        $image = $imagine->open("../web/".$path);
...

Я также попробовал это (оба работают, когда я рендерим шаблон по запросу браузера)

$image = $imagine->open($path);

$ path установлен в "documents / 4f59ef3f76e74_test3.jpg" "documents /" является подкаталогом "web"

Есть идеи?

1 Ответ

10 голосов
/ 10 марта 2012

Ха- нашел это!Это возвращает абсолютный системный путь к файлу веб-папки:

$webRoot = $this->container->get('kernel')->getRootDir()."/../web";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...