Шаблоны страниц
Можно создавать шаблоны для формирования отдельных страниц. Шаблоны страниц могут быть основаны на системном адресе страницы. Например если вы находитесь на странице node/1/edit, то шаблоны будут искаться в следующей последовательности:
page-node-edit.tpl.php
page-node-1.tpl.php
page-node.tpl.php
page.tpl.phpЕсли вы находитесь на странице http://example.com/tracker, то шаблоны будут искаться в следующей последовательности:
page-tracker.tpl.php
page.tpl.phpЕсли вы находитесь на странице http://example.com/user/1, то шаблоны будут искаться в следующей последовательности:
page-user-1.tpl.php
page-user.tpl.php
page.tpl.phpЕсли вы находитесь на странице http://example.com/taxonomy/term/1, то шаблоны будут искаться в следующей последовательности:
page-taxonomy-term-1.tpl.php
page-taxonomy-term.tpl.php
page-taxonomy.tpl.php
page.tpl.phpЕсли вы находитесь на странице http://example.com/, то шаблоны будут искаться в следующей последовательности:
page-front.tpl.php
page.tpl.phpОтметьте: шаблоны ищутся основываясь на системных адресах. Т.е. если вы задали альтернативный адрес вручную или используете модуль Pathauto, то шаблоны всё равно будут искаться по системному адресу и альтернативный адрес использоваться не будет.
Если вы хотите переключать шаблоны страниц основываясь на определённых правилах (например роли пользователя), то вы должны определить эти правила в шаблоне template.php, определив переменной $vars['template_files'] массив возможных шаблонов.
Пример определения шаблонов этой переменной можно посмотреть на странице Creating a separate admin theme.



Комментарии
а если я нахожусь на странице http://example.com/taxonomy/term/1/all
какой шаблон будет отвечать за эту страницу в первую очередь?
page-taxonomy-term-1-all.tpl.php
page-taxonomy-term-1.tpl.php
page-taxonomy-term.tpl.php
page-taxonomy.tpl.php
page.tpl.php
наверно так
а если я хочу, чтобы своя страница пользователя показывалась так, а страницы других пользователей по-другому. Как это сделать?
можно узнать порядом использования шаблонов по данной ссылке? Желательно с привязкой к модулю ubercart
/admin/store/orders/25/invoice
Лично у мея page-taxonomy-term-1-all.tpl.php почему то не работает. Если создавать просто шаблон одного термина, вроде: page-taxonomy-term-1.tpl.php то всё получается.
Комментировать