Zwei zusätzliche Hinweise dazu:
- Es ist nicht erforderlich, alle Standardsymboldateien in Ihr Themenverzeichnis zu kopieren.
- Wenn Sie ein benutzerdefiniertes Symbol verwenden, muss es entsprechend benannt sein, damit es gefunden werden kann.
Als Beispiel musste ich ein benutzerdefiniertes Symbol für eine BIB-Datei (Bibtex) verwenden. Dieser Typ wird in file_default_mimetype_mapping () zugeordnet , verwendet jedoch standardmäßig das Standardtextsymbol, da für diesen MIME-Typ (text / x-bibtex) kein Symbol speziell definiert ist.
Ich habe theme_file_icon () in der template.php meines Themas überschrieben, aber ich habe es so gemacht, dass der Symbolpfad nur nach Bedarf geändert wird und ich das Standard-Symbolverzeichnis nicht in mein Themenverzeichnis kopieren musste:
function mytheme_file_icon($variables) {
$file = $variables['file'];
$icon_directory = $variables['icon_directory'];
$mime = check_plain($file->filemime);
if ($mime == 'text/x-bibtex') {
$icon_directory = drupal_get_path('theme', 'mytheme') . '/images';
}
$icon_url = file_icon_url($file, $icon_directory);
return '<img class="file-icon" alt="" title="' . $mime . '" src="' . $icon_url . '" />';
}
Die zweite Sache ist, dass Sie das Symbol entsprechend benennen müssen. Wenn Sie nur file_icon_url () verwenden , bestimmt dieser Code dieser Funktion den Dateinamen für das Symbol:
// For a few mimetypes, we can "manually" map to a generic icon.
$generic_mime = (string) file_icon_map($file);
$icon_path = $icon_directory . '/' . $generic_mime . '.png';
if ($generic_mime && file_exists($icon_path)) {
return $icon_path;
}
In meinem Fall musste ich meine Datei text-x-bibtex.png benennen. Wenn Sie es einfach so benennen möchten, wie Sie möchten (in diesem Fall bibtex.png), können Sie den Dateinamen natürlich auch manuell festlegen:
$icon_url = $icon_directory . '/bibtex.png';
Beides funktioniert, aber mit dieser Methode können Sie die Standardsymbole dort belassen, wo sie sich befinden, und die Dinge nur nach Bedarf anpassen.