安裝好 Drupal 後,預設就有提供 RSS 的服務,但不想要該如何 ? 很有趣的是,即使到了最新的 Drupal 7 也沒有提供關閉功能,你可以靠模組來解決 (RSS Permissions)。算了算,我不太想安裝模組,就是要隱藏起來就好....
Rss icon 是來自版型中的,要隱藏的方法的確多,但既然使用了 Drupal,就好好學一下 Drupal 能如何去做。
利用 CSS 隱藏
對於新手來說,第一個想法必定是 CSS,真的太簡單
.feed-icon { display: none }但你或許會說:我雖不懂 Drupal ,可是一名 HTML & CSS 的高手,無謂的輸出這些 HTML 程式碼,有點兒... (是的,這是最糟糕的方法,窮途未路時才好使用)
從 Page.tpl.php 中移除
對了,這次對了!找到以下這句,刪了就可以
print $feed_icons
可是,$feed_icons未必只在一個版型檔案中,要獨一修改也太麻煩。某天,老闆想法不同,不是又要花大量時間去修改回來嗎 ? 一些模組亦可能會輸出啊!
透過 Drupal API theme_feed_icon 移除
這是終極武器,既不會輸出無謂的 HTML,也不用大量修改版型,某天後悔了,也只是註釋掉就可以。模組做壞事嗎 ?? 也會殺掉它!
參考:http://api.drupal.org/api/function/theme_feed_icon/6
直接複製程式碼到版型下的 template.php 檔案,並做小修改。
function phptemplate_feed_icon($url, $title) {
return '';
}** 緊記到管理界面清除快取,否則沒效果不要說我的方法失敗。
Drupal 7 中 "phptemplate_" 已失效,請使用你的版型名代替,事實上 Drupal 6 中也應該這樣做。
要修改圖片 ?
Drupal 6
function theme_feed_icon($url, $title) {
if ($image = theme('image', path_to_theme() . '/images/feed.png', t('Syndicate content'), $title)) {
return '<a href="'. check_url($url) .'" class="feed-icon">'. $image .'</a>';
}
}
Drupal 7 API 變了,做法沒差別,你可以使用新的 API
function theme_feed_icon($variables) {
$text = t('Subscribe to @feed-title', array('@feed-title' => $variables['title']));
if ($image = theme('image', array('path' => path_to_theme() . '/images/feed.png', 'alt' => $text))) {
return '<a href="' . check_url($variables['url']) . '" title="' . $text . '" class="feed-icon">' . $image . '</a>';
}
}
複製了,出錯啊 ! 剛才說過,你要修改 theme_ 為你的版型名。
修改了,變了沒東西 ? 別忘記清除快取及在你指定的位置放上圖片。
只出文字該如何做 ?? 我不太懂, LOL
(這是 Drupal 小技巧系列,專門分享微不足道,但實用的修改技巧。)

寫下您的回覆