Мне нужно создать кастомный модуль, который отображает погоду на странице (три значения: температура, давление, город) вот так:
18
1015
Лондон
Код weather.routing.yml:
path: '/weather'
defaults:
_controller: '\Drupal\weather\Controller\WeatherPage::getWeather'
requirements:
_permission: 'access content'
Но у меня отображается вот такое на странице:
1016
LondonThe website encountered an unexpected error. Please try again later.
RuntimeException: Controller "Drupal\weather\Controller\WeatherPage::getWeather()" requires that you provide a value for the "$city" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one. in Symfony\Component\HttpKernel\Controller\ArgumentResolver->getArguments() (line 78 of vendor\symfony\http-kernel\Controller\ArgumentResolver.php).
Почему ошибка?
Комментарии
> Что я не так написал?
да практически всё
начните заново писать контроллер по руководству "как правильно написать контроллер в Drupal 8"
Я писал кастомный модуль по статье https://niklan.net/blog/66. Парень приводил пример на Hello World. Кстати на других туториалах тот же принцип создания кастомного модуля. Так что о "да практически всё" это преувеличено:). Можно конкретнее?
> Я писал кастомный модуль по статье https://niklan.net/blog/66.
своих то зачем обманывать? видно же, что в нормальный код вставлена какая-то фигня
метод контроллера должен возвращать массив
за классом никакого кода не должно быть
А как мне тогда переделать php код? Я php практически не знаю. Так как являюсь front-end разработчиком(javascript). Пробуюсь на сайтбилдера в Drupal компанию. На первых порах php не нужен в компании на позицию сайтбилдер, но дали задание сделать такой кастомный модуль. Вы можете помочь переделать php код? Очень нужна ваша помощь. Так как к сожалению нет знакомых програмистов которые подсказали каким образом нужно переделать код...
facepalm.jpg
Имхо, это очень похоже на какую-то разновидность троллинга
---
PS. Если по сути:
то лучше подумайте, как корректно мотивировать отказ от такой задачи. Вы же js-кодер, всё таки.