Почему такая ошибка при создании кастомного модуля?

19 июня 2020 в 20:42

Мне нужно создать кастомный модуль, который отображает погоду на странице (три значения: температура, давление, город) вот так:

18
1015
Лондон

Код weather.routing.yml:

weather.weather_page:                              
  path: '/weather'
  defaults:                                                      
    _controller: '\Drupal\weather\Controller\WeatherPage::getWeather'                          
  requirements:                                        
     _permission: 'access content'  

Но у меня отображается вот такое на странице:

17.52
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"

19 июня 2020 в 20:45

Я писал кастомный модуль по статье https://niklan.net/blog/66. Парень приводил пример на Hello World. Кстати на других туториалах тот же принцип создания кастомного модуля. Так что о "да практически всё" это преувеличено:). Можно конкретнее?

19 июня 2020 в 21:15

> Я писал кастомный модуль по статье https://niklan.net/blog/66.

своих то зачем обманывать? видно же, что в нормальный код вставлена какая-то фигня

метод контроллера должен возвращать массив
за классом никакого кода не должно быть

19 июня 2020 в 21:16

А как мне тогда переделать php код? Я php практически не знаю. Так как являюсь front-end разработчиком(javascript). Пробуюсь на сайтбилдера в Drupal компанию. На первых порах php не нужен в компании на позицию сайтбилдер, но дали задание сделать такой кастомный модуль. Вы можете помочь переделать php код? Очень нужна ваша помощь. Так как к сожалению нет знакомых програмистов которые подсказали каким образом нужно переделать код...

19 июня 2020 в 21:55

Имхо, это очень похоже на какую-то разновидность троллинга Smile

---
PS. Если по сути:

nathan158 wrote:... Пробуюсь на сайтбилдера в Drupal компанию. На первых порах php не нужен в компании на позицию сайтбилдер, но дали задание сделать такой кастомный модуль...

то лучше подумайте, как корректно мотивировать отказ от такой задачи. Вы же js-кодер, всё таки.

20 июня 2020 в 0:10