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(), а так же дополнительные свойства, добавленные _theme_process_registry().

  // Переопределяем функцию theme_user_signature на theme_example_user_signature.
  $theme_registry['user_signature']['function'] = '...
Benya

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

Чтобы заменить стандартные иконки файлов необходимо в файле 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-icon" alt="" title="' . $mime . '" src="' . $icon_url . '" />';
}

Далее кладем в...

Benya