<? wp_nav_menu([
'menu' => 'head_menu',
'container' => false,
'menu_class' => 'top-menu',
'echo' => false, // echo = false
'fallback_cb' => 'wp_page_menu',
'item_wrap' => '<ul class="header__nav">%3$s</ul>',
'depth' => 1
]); ?>
$this->t('Temperature')
, всё опять прелестно и солнце светит. Затем понадобилось поменять разметку. Лезем во все Контроллеры и везде меняем ее. Фронтендеру лафа снова. Затем появилось два виджета, для мобилки и десткопа и для мобилки названия параметров заменены на иконки. Ууууу, лезем вставлять иконки SVG в контроллер. Приходит новый злой тимлид и начинает заставлять всех писать тесты контроллеров. Вот тут начинается опа, потому что Ваш Контроллер возвращает разное при разных языках. А по хорошему он должен возвращать всегда одно и то же. Вот именно поэтому Контроллер должен заниматься только тем, чем должен - возвращать данные напрямую, применяя вьюшку или же json в случае API.<?php
/**
*@file
*Contains \Drupal\weather\Controller\WeatherPage
*/
namespace Drupal\weather\Controller;
class WeatherPage {
public function getWeather($city) {
$response = file_get_contents('my API');
$data = json_decode($response);
return [
'#type' => 'widget',
'#content' => [
'#name' => $data->name,
'#temp' => round($data->main->temp),
'#clouds' => $data->clouds->all,
'#humidity' => $data->main->humidity,
'#pressure' => $data->main->pressure,
'#speed' => $data->wind->speed,
]
];
}
}