admin.categories.php文件的第18行有
require_once( JApplicationHelper::getPath( 'admin_html' ) );
Helper Library文件尚未修改,仍然显示
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 :(得分:0)
因此,当您从Category Manager
菜单Content
中选择getPath()
时会调用$varname == 'admin_html'
和$user_option == null
。
这意味着,当第一个if()
为真时(因为null
等于false
而$check
等于false
)$user_option
被设置到com_categories
(JRequest::getCmd('option'); line
)的结果
然后$name
设置为'categories'
,因此当switch()
转到admin_html
时,它会将$path
设置为/components/com_categories/admin.categories.html.php
(假设本地目录分隔符设置为/
)。
因为这是正确的路径,并且该文件通常包含在J1.5安装中,其他内容出错(或文件已被删除/删除)