Для каждой страницы назначить свой шаблон

Аватар пользователя Artalek Artalek 28 декабря 2020 в 8:55

Здравствуйте, я создал модуль, в нём есть страницы, и каждая страница попадает в этот файл page.html.twig.

Как можно переопределить шаблон для той или иной страницы?

Мой mod.module:

<?php
/**
 * Implements hook_theme().
 */
function mod_theme($existing$type$theme$path) {
    return [
        
'main_page' => [ // вот допустим, чтобы вот эта страница попала на page.html.twig
            
'variables' => [
                
'settings' => NULL,
                
'links' => NULL
            
],
        ],
        
'first_page' => [ // а вот эта на page_inner.html.twig
            
'variables' => [
                
'page_id' => NULL,
                
'lists' => NULL,
                
'params' => NULL
            
],
        ]
    ];
}
?>

Лучший ответ

Аватар пользователя ivnish ivnish 28 декабря 2020 в 9:04
1

А есть реальная необходимость делать эти страницы программно? Layout Builder пробовали?

Отладку TWIG включали? Предлагаемые шаблоны там есть?

Комментарии

Аватар пользователя Artalek Artalek 28 декабря 2020 в 9:08

ivnish wrote: А есть реальная необходимость делать эти страницы программно?

К сожалению да, долго рассказывать, пока моих знаний хватает только на это.
Просто он все эти страницы открывает в page.html.twig, а мне надо, чтобы можно было указать другой шаблон, т.к. footer может отличаться.