網頁

2008年11月23日 星期日

[Joomla] 搜尋字詞最少3個字元

Joomla安裝好後, 試一下搜尋功能, 系統預設最短的搜尋字母長度是3個字元, 因此我們只打一個中文字, 會出現
Warning: sprintf() [function.sprintf]: Too few arguments in C:\AppServ\www\libraries\joomla\methods.php on line 138

搜尋字詞最少3個字元, 最多20個字元

如果要改成最短長度為1的話, 可在:
/administrator/components/com_search/helpers/search.php 文件中
找 if ( $searchword && JString::strlen( $searchword ) < 3 )
將3 改為1


(如果伺服器的 display_errors 值設置為On)此時還會出現上面的錯誤提示,為了不影響美觀,可以在 /libraries/joomla/methods.php 這個文件中,在 call_user_func_array() 函數前加 「@」,讓錯誤提示不顯示:

function sprintf($string)
{
$lang =& JFactory::getLanguage();
$args = func_get_args();
if (count($args) > 0) {
$args[0] = $lang->_($args[0]);
return @call_user_func_array('sprintf', $args);
}
return '';
}

沒有留言: