2012-05-23 19 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安装中,但是出现其他问题(或文件已被删除/删除)