Drupal / Twig / Symfony Routing возвращает "null" для base_url

Я искал ответ почти две недели и наконец решил, что мне нужно обратиться за помощью. Я совершенно не знаком с 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 = "/ home") ...

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

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

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
101
1

Ответы 1

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

{{ url('<front>') }}{{item.url}}

Другие вопросы по теме