Я обычный пользователь Drupal 7, но это первый раз, когда я использую Drupal 8.
Я пытаюсь определить пользовательские маршруты в своей теме, но, похоже, мой файл маршрутизации не учитывается. Вот мои актуальные файлы:
foo/ src/ Controller/ TestController.php templates/ test/ list.html.twig foo.routing.yml 
  С foo.routing.yml : 
foo.test: path: '/test-url' defaults: _controller: '\Drupal\foo\Controller\TestController::list' _title: 'D8 routing test page' requirements: _permission: 'access content'поfoo.test: path: '/test-url' defaults: _controller: '\Drupal\foo\Controller\TestController::list' _title: 'D8 routing test page' requirements: _permission: 'access content'
  И TestController.php : 
 <?php namespace Drupal\foo\Controller; use Drupal\Core\Controller\ControllerBase; class TestController extends ControllerBase { public function list() { return array( '#theme' => 'test/list.html.twig', '#bar' => 'Variable transmission test' ); } } 
  Текущий результат, когда я вызываю /test-url – не мой шаблон, а стандартная страница узла со всеми отображаемыми полями. 
  Я что-то упустил, чтобы заставить его работать? 
Вы должны использовать название темы, а не путь шаблона в вашем массиве рендеринга:
 public function list() { return array( '#theme' => 'list', '#bar' => 'Variable transmission test' ); } 
Кроме того, по умолчанию у Drupal нет темы «список», поэтому вам нужно определить ее (в файле foo.theme):
 function foo_theme($existing, $type, $theme, $path) { return array( 'list' => array( 'variables' => array( 'bar' => NULL ) ) ); 
UPD: добавление @zessx: объявление маршрута может быть реализовано в модуле, а не в теме.