Есть два способа переопределения функций темизаций в модуле.
Способ 1
Будет работать только если функция темизации не переопределена в template.php
или в модуле с бОльшим весом.
/**
* Implements hook_theme().
*/
function mymodule_theme() {
return array(
// Переопределение функции theme_breadcrumb()
'breadcrumb' => array(
'function' => 'mymodule_breadcrumb',
'arguments' => array('breadcrumb' => NULL),
),
);
}
/**
* Override theme_breadcrumb().
*/
function mymodule_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
return '<div class="breadcrumb">' . implode(' → ', $breadcrumb) . '</div>';
}
}
Способ 2
Будет работать даже если функция переопределена в template.php
.
/**
* Implements hook_theme_registry_alter().
*/
function mymodule_theme_registry_alter(&$theme_registry) {
// Переопределение функции theme_breadcrumb()
$theme_registry['breadcrumb']['function'] = 'mymodule_breadcrumb';
}
/**
* Override theme_breadcrumb().
*/
function mymodule_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
return '<div class="breadcrumb">' . implode(' → ', $breadcrumb) . '</div>';
}
}
Написанное актуально для
Drupal 6
Похожие записи
- Создание сравнительной таблицы с значениями из EAV Field
- Тест оверхеда Layout Builder и Paragraphs
- Темизация группы чекбоксов или радио-кнопок (#type=>checkboxes, #type=>radios)
- Как в Views программно изменить view mode выводимых сущностей по данным из cookie?
- Добавляем на страницу управления отображением материала поля "Заголовок" и "Дата создания"
Добавить комментарий