Что такое подтема
Подтема (sub-theme) — это тема, которая наследует функционал другой темы. Под функционалом понимается — шаблоны (файлы tpl.php), css/js файлы, настройки, функции определённые в template.php.
Зачем нужны подтемы
Главный девиз Drupal — "Не трожь ядро!", именно для этого и нужны подтемы — чтобы можно было изменить какую то часть базовой темы (входящую в ядро друпала или скачанную с официального сайта) не трогая её файлы.
Например в подтеме можно подключить свой css файл или изменить один из шаблонов, при этом родительскую тему можно будет спокойно обновлять, не боясь затереть сделанные изменения.
Как создать подтему
В папке sites/all/themes
создаём новую директорию, например mybartik
.
В этой директории создаём .info файл, например mybartik.info
.
В этом файле прописываем информацию о подтеме и о родительской теме:
name = My Bartik
description = Modified Bartik theme
core = 7.x
engine = phptemplate
base theme = bartik
Так же копируем из .info файла родительской темы информацию о регионах и дефолтных настройках, так как эти параметры почему-то не наследуются.
Активируем тему.
Как переопределять css файлы
Скопировать css файл из родительской темы и подключить его в .info файле подтемы. Например:
stylesheets[all][] = css/style.css
Очистить кэш.
Теперь вместо themes/bartik/css/style.css
будет подключаться файл sites/all/themes/mybartik/css/style.css
.
Если нужно отключить какой-то css файл, то можно просто очистить его содержимое в подтеме.
Как переопределять js файлы
Всё по аналогии, только в .info файле нужно прописывать:
scripts[] = script.js
Как переопределять функции темизации
Так же как и в обычной теме — реализовать в template.php соответствующий хук с именем подтемы в качестве префикса. Сбросить кэш.
Preprocess и process функции переопределять нельзя (точнее можно, но делается это уже из своего модуля), можно только добавить собственные.
Как переопределять шаблоны
Скопировать шаблон из родительской темы, изменить его, сбросить кэш.
---
Вольный перевод статьи Creating a sub-theme.
- Создание сравнительной таблицы с значениями из EAV Field
- Тест оверхеда Layout Builder и Paragraphs
- Темизация группы чекбоксов или радио-кнопок (#type=>checkboxes, #type=>radios)
- Как в Views программно изменить view mode выводимых сущностей по данным из cookie?
- Добавляем на страницу управления отображением материала поля "Заголовок" и "Дата создания"
Комментарии
на
пашет в template.php. D7.14.
Будте добры поподробней
Так же как и в обычной теме — реализовать в template.php соответствующий хук с именем подтемы в качестве префикса. Сбросить кэш.
Несовсем понятно..
themename_hookname
Да, только вот про модуль color, что bartik-субтема не подключает ничего не сказано. Надо разбираться.
тихо сам с собой)) нашел ответ на https://drupal.org/node/1114190
делаем для http://promo.org.il
Я буду тысячу раз благодарен кто запишет видео и покажет нам "Друпальным Чайникам" как и что переопределяется!!! не совсем а то понятно
Добавить комментарий