Drupal / Twig / Symfony Routing Возвращает ноль для base_url - PullRequest
0 голосов
/ 28 августа 2018

Я почти 2 недели искал ответ и наконец решил, что мне нужно обратиться за помощью. Я совершенно незнаком с PHP / Drupal, но унаследовал такой проект для обновления и поддержки. Проект работает на Drupal 8.3.7 и размещен на IIS 6.2.

По какой-то неизвестной причине ссылки в моих файлах html.twig возвращаются с "нулевым" base_url. Так например ...

<a href="/home"> ... </a>

будет ссылаться на "null / home" ... После многих взломов и попыток выяснить, могу ли я установить $ base_url вручную (я знаю, что это не лучшая практика, но мне просто нужно было посмотреть, возможно ли это) ) Я обнаружил два своеобразных поведения:

A. Если в связанном контроллере я создаю переменную $ temp_base_url и жестко кодирую значение «localhost», и пытаюсь поместить следующее в мой файл html.twig (где item.url = "/ домой ") ...

<a href="http://{{temp_base_url}}{{item.url}}">http://{{temp_base_url}}{{item.url}}</a>

Текст между тегом привязки будет правильно отображаться как http://localhost/home, тогда как фактическая ссылка направит вас на null / home .

B. С другой стороны, если я назначил $ temp_base_url равным "http://localhost" и поставил следующий код ...

<a href="{{temp_base_url}}{{item.url}}">{{temp_base_url}}{{item.url}}</a>

Текст между тегом привязки будет (aga) правильно отображаться как http://localhost/home, тогда как реальная ссылка теперь будет пытаться направить вас к http://localhost/null/home.

Проблема не в глобальной переменной $ base_url , потому что когда я проверяю это в контроллере, $ base_url правильно устанавливает себя как "localhost", поэтому я подозреваю, что Symfony или что-то еще отображает маршруты неправильно (любые попытки использовать 'path' или 'url' также приводили к подобным нулевым проблемам).

Итак, мой вопрос: откуда эти нули? Как заставить IIS / Drupal подобрать соответствующий базовый URL для маршрутизации?

1 Ответ

0 голосов
/ 01 сентября 2018

Вы можете использовать это url('<front>')

{{ url('<front>') }}{{item.url}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...