Theme system

Как переопределить theme функцию в Drupal

Для того, чтобы переопределить theme фунцкию необходимо имплементировать хук hook_theme_registry_alter():

/**
 * Implements hook_theme_registry_alter().
 */
function example_theme_registry_alter(&$theme_registry) {
  // В массиве $theme_registry ключом является название theme функции, определяемое в hook_theme().
  // Массив содержит информацию, возращаемую hook_theme(), а...

Как заменить стандартные иконки файлов

Чтобы заменить стандартные иконки файлов необходимо в файле template.php добавить функцию theme_file_icon. Для примера заменим стандартную иконку excel файлов:

function themeName_file_icon($variables) {
  $file = $variables['file'];
  $icon_directory = $variables['icon_directory'];

  $mime = check_plain($file->filemime);
  if ($mime == 'application/vnd.ms-excel') {
    $icon_directory = path_to_theme() . '/images';
  }
  $icon_url = file_icon_url($file, $icon_directory);
  return '<img class="file-...