РЕДАКТИРОВАТЬ: чтобы сократить это: есть ли способ вызвать $ 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"
Есть идеи?