在我的新Joomla 1.6網站中,Joomla在搜索模塊的搜索結果中的鏈接中訪問的所有文章中添加了一個帶有文本「文章」的h1標籤。從Latestnews模塊鏈接的文章也是如此,但在這種情況下,添加的h1文本是「Home」。如何防止Joomla在從搜索結果和latestnews模塊鏈接的文章中添加h1標籤?
我不想要這些h1標題!請提出任何建議?
在我的新Joomla 1.6網站中,Joomla在搜索模塊的搜索結果中的鏈接中訪問的所有文章中添加了一個帶有文本「文章」的h1標籤。從Latestnews模塊鏈接的文章也是如此,但在這種情況下,添加的h1文本是「Home」。如何防止Joomla在從搜索結果和latestnews模塊鏈接的文章中添加h1標籤?
我不想要這些h1標題!請提出任何建議?
您可以通過修改組件的模板覆蓋來做到這一點。
模板覆蓋項存在於模板的/html/
子文件夾下。 例如如果你想改變搜索條目的標題(com_search),你正在使用的模板rhuk_milkyway,調整下在這裏找到的文件:
templates/rhuk_milkyway/html/com_search/
打開PHP文件,(如default.php),然後修改通過用您自己的標籤替換H1標籤來標題。
如果你的模板不包含任何覆蓋文件或文件夾,您可以複製從該文件夾默認搜索覆蓋:
components/com_search/view/search/tmpl
並粘貼到你的HTML模板文件夾:
rhuk_milkyway/html/com_search/search/
然後進行如上所述的修改。
你可以閱讀更多的在這裏覆蓋,雖然這些文章1.5編寫,概念仍然適用1.6:
我刪除了使用JavaScript這些頭,只需檢查所有h1標題並在其內容中搜索不需要的單詞,而不是將其顯示屬性設置爲none。
window.onload = function() {
var h1s = document.getElementsByTagName('h1');
for(var i=0; i<h1s.length; i++) {
var home = h1s[i].innerHTML.substr(2, 4);
var articles = h1s[i].innerHTML.substr(2, 8);
if(home == "Home" || articles =="Articles")
h1s[i].style.display = "none";
}
}
雖然它似乎不是一個非常優雅的解決方案,在實踐中效果很好,效率很高。此外,如果我們認爲這些h1真的與頁面內容有關,而不表示的決定僅僅是一個模板問題,這個解決方案是相當合理的。 JavaScript代碼如下:
我希望它對其他人有用。的確,我不明白爲什麼沒有成千上萬的其他Joomla!用戶拼命地試圖擺脫這些標題。
比方說,我爲組件「com_component」製作模板覆蓋,併成功從搜索結果的鏈接中刪除單詞「Articles」。但顯然,從第一頁鏈接的文章中顯示的h1標題中的「首頁」一詞不能通過這種方式刪除。我需要什麼組件來製作輸出覆蓋?無論如何,我發現一個更簡單和骯髒的解決方案使用JavaScript。對於那些感興趣的,請看下面我自己的答案。 – 2011-05-06 14:46:19