В чем разница между темой и шаблоном? - PullRequest
5 голосов
/ 23 февраля 2009

Я пытаюсь перенести свой сайт на Drupal, и я не понимаю темы и шаблоны. Внешний вид страниц моего текущего сайта полностью контролируется файлами шаблонов и CSS. Как это работает в Drupal?

Ответы [ 7 ]

5 голосов
/ 23 февраля 2009

В drupal тема обрабатывает внешний вид сайта, а шаблон - как отображается ваш контент.

Думайте об этом так: шаблон используется для визуализации контента, затем к этому контенту применяется тема.

Редактировать: Итак, ваши CSS-файлы живут с темой в drupal и не имеют ничего общего с шаблонами.

4 голосов
/ 25 февраля 2009

В Drupal «тема» - это просто специальный тип плагина, который связывает воедино любое количество шаблонов (для управления тем, как данный фрагмент данных отображается в HTML), CSS, JS-файлы, изображения и так далее.

Итак, есть один «шаблон» для разметки вашей страницы, один «шаблон» для того, как блок боковой панели отображается как HTML, и так далее. Все они, собранные вместе и названные, называются темой.

3 голосов
/ 09 марта 2009

Посмотрите на это так: можно создать тему без шаблонов. Такая тема будет иметь CSS-файлы, которые переопределяют стандартные CSS-файлы drupal. Использование такой темы создаст сайт, который будет выглядеть почти так же, как сайт по умолчанию в Drupal, за исключением того, что он будет иметь разные цвета, шрифты и т. Д.

Но если вы хотите изменить положение элементов на странице, типы элементов на странице и т. Д., Вы должны переопределить шаблоны по умолчанию, добавив некоторые собственные в свою тему. Эти новые шаблоны позволяют изменять информацию, отображаемую Drupal, и тип HTML, который Drupal будет использовать для ее отображения.

Например, скажем, я хочу клонировать StackOverflow, но я хочу сделать это с Drupal. Первое, что я хотел бы сделать, это создать новый тип контента (назовите его «вопрос»), который похож на историю, но имеет дополнительные поля для отслеживания голосования и так далее. Стандартные шаблоны Drupal не будут знать об этих дополнительных полях, поэтому они не будут отображать их.

Итак, я захожу в свою тему и добавляю новый файл node.tpl.php. Этот новый шаблон аналогичен стандартному, за исключением того, что я могу добавить код, который говорит: «Если этот узел имеет тип« вопрос », вставьте гаджет голосования слева от тела».

Помогает ли это?

2 голосов
/ 02 марта 2009

Тема состоит из набора файлов шаблонов. block.tpl.php, node.tpl.php, page.tpl.php - все файлы шаблонов, которые в сочетании с вашими CSS, JS и изображениями создают тему. Кроме того, темы могут быть унаследованы. Тема может быть создана только с помощью CSS и без дополнительных файлов шаблонов путем наследования от существующей темы, в этом случае используются файлы шаблонов из родительской темы.

Другой способ взглянуть на это - тема, которую вы видите, и файлы шаблонов отвечают за создание разметки.

Надеюсь, это немного прояснит.

0 голосов
/ 06 мая 2009

Тема состоит из файлов CSS, JS, изображений и шаблонов. Каждая тема может включать несколько файлов шаблонов.

Кроме того, темы могут быть унаследованы, а файлы шаблонов подтем могут переопределять файлы шаблонов своей родительской темы.

0 голосов
/ 09 марта 2009

Drupal имеет систему тем на основе шаблонов. Вы можете определить свои собственные регионы на странице и упорядочить контент в соответствии с этим. Существует некоторый файл шаблона по умолчанию, такой как page.tpl, block.tpl, node.tpl, который отображает различный вид содержимого. Вы можете написать свой собственный файл шаблона по мере необходимости, например, если вам нужно изменить отображение формы регистрации пользователя или страницы входа, вы можете создать файл tpl для этого и перенаправить данные в этот файл tpl. Вы можете добавить CSS или JS в эти шаблоны, используя drupals apis. Это перенаправление должно быть сделано в файле theme.php theme

0 голосов
/ 02 марта 2009

Я в замешательстве ...

Первый ответ говорит, что шаблоны и темы не имеют ничего общего друг с другом, а второй говорит, что темы - это просто наборы ответов.

Какой из них прав?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...