2012-05-23 21 views
0

在admin.categories.php文件的第18行有的Joomla 1.5徵集get_path( 'ADMIN_HTML')返回NULL

require_once(JApplicationHelper::getPath('admin_html')); 

助手庫文件沒有被修改,但它仍然讀取

function getPath($varname, $user_option=null) 
$check = (($varname == 'mod0_xml') || ($varname == 'mod1_xml')); 

if (!$user_option && !$check) { 
    $user_option = JRequest::getCmd('option'); 
} else { 
    $user_option = JFilterInput::clean($user_option, 'path'); 
} 

$result = null; 
$name = substr($user_option, 4); 
...  
case 'admin_html': 
    $path = DS.'components'.DS. $user_option .DS.'admin.'. $name .'.html.php'; 
    $result = JApplicationHelper::_checkPath($path, -1); 
    break; 

因此,它將結束構建路徑'/components//admin..html.php',因爲$ name和$ user_option變量都是空的,對嗎?然後檢查路徑失敗,失敗時返回null。根據我的知識,這些代碼都沒有被修改過。那麼是什麼給了?任何人都指向正確的方向?

這個問題引起的問題是它無法打開所需的文件時會引發致命錯誤。所以我無法打開類別管理器。

回答

0

所以,當你從Content菜單getPath()選擇Category Manager被稱爲與$varname == 'admin_html'$user_option == null

這意味着,作爲第一if()爲真(因爲null相當於false$checkfalse$user_option獲取設置爲com_categories(該JRequest::getCmd('option'); line的結果)

然後$name獲取設置爲'categories',所以當switch()轉到admin_html的情況下,它將$path設置爲/components/com_categories/admin.categories.html.php(假設本地目錄分隔符設置爲/)。

因此,這是正確的路徑,並且該文件通常包含在J1.5安裝中,但是出現其他問題(或文件已被刪除/刪除)