Czasami podczas tworzenia kolejnej skórki do drupala, zachodzi potrzeba podmiany ikony RSS.
Oczywiście można to zrobić w sposób "brzydki" i po prostu znaleźć położenie tej ikony w instalacji systemu (plik /misc/feed.png), jest to jednak rozwiązanie mało satysfakcjonujące zarówno programistę jak i administratora strony - bo byle aktualizacja CMS'a i znów trzeba pamiętać o podmianie grafik.
Na szczeście skórki drupala, umozliwiają w prosty sposób zmianę ścieżki do takiego pliku.
Źródłowo dla Drupala 7 funkcja ta wygląda tak:
function theme_feed_icon($variables) {
$text = t('Subscribe to @feed-title', array('@feed-title' => $variables['title']));
if ($image = theme('image', array('path' => 'misc/feed.png', 'width' => 16, 'height' => 16, 'alt' => $text))) {
return l($image, $variables['url'], array('html' => TRUE, 'attributes' => array('class' => array('feed-icon'), 'title' => $text)));
}
}
Aby zadziałała poprawnie, musimy w niej jednak wprowadzić kilka niemal kosmetycznych zmian, zaznaczonych dla ułatwienia na czerwono.
Po pierwsze zmienić nazwę na zgodną z nazwą naszego theme (skórki), a po drugie zmienić ścieżkę do naszej ikony na prawidłową.
Po wprowadzeniu pożądanych "usprawnień" nasza funkcja będzie wygladała tak:
function nazwaskorki_feed_icon($variables) {
$text = t('Subscribe to @feed-title', array('@feed-title' => $variables['title']));
if ($image = theme('image', array('path' => base_path() . path_to_theme() . '/img/feed.png', 'width' => 16, 'height' => 16, 'alt' => $text))) {
return l($image, $variables['url'], array('html' => TRUE, 'attributes' => array('class' => array('feed-icon'), 'title' => $text)));
}
}
Potem pozostaje załadować nowy plik template.php do katalogu ze skórką i zaktualizować naszego drupala. Oczywiście jeśli obrazki umieszczamy w naszej templatce w innym miejscu niż /img, należy pamiętać o prawidłowej zmianie w kodzie.
Jeszcze parę słów o funkcjach base_path() i path_to_theme() :
-
base_path() zwraca ścieżkę do instalacji drupala
-
path_to_theme() zwraca zaś ścieżkę do naszej skórki.
Obie funkcje są dość często używane, gdy trzeba nadpisać którąś z domyślnych ścieżek, tak więc warto o nich pamietać.