在帝国CMS的
userfun.php中,可以通过以下方式获取当前栏目的ID和当前栏目的目录:
获取当前栏目ID 
可以通过全局变量
$GLOBALS['navclassid']来获取当前页面所在的栏目ID。
获取当前栏目的目录 
可以通过以下两种方式获取当前栏目的目录:
	使用$class_r数组  
	帝国CMS中有一个全局数组$class_r,用于存储栏目的相关信息。可以通过以下代码获取当前栏目的目录:
	
	
$classpath = $class_r[$GLOBALS['navclassid']]['classpath']; 
	 
	使用sys_ReturnBqClassname函数  
	这是一个系统函数,可以用来获取栏目的完整URL。例如:
	
	
$cr = array('classid' => $GLOBALS['navclassid']);
$classurl = sys_ReturnBqClassname($cr, 9); // 返回栏目的完整URL 
	 
	如果只需要目录部分,可以通过字符串处理函数提取。 
 
示例代码 
以下是一个完整的示例代码,展示如何在
userfun.php中获取当前栏目的ID和目录:
<?php
// 获取当前栏目ID
$current_classid = $GLOBALS['navclassid'];
// 获取当前栏目的目录
$current_classpath = $class_r[$current_classid]['classpath'];
// 输出结果
echo "当前栏目ID:$current_classid<br>";
echo "当前栏目目录:$current_classpath";
?> 
通过以上代码,你可以在
userfun.php中灵活地获取和使用当前栏目的ID和目录。
-----------------------------------------------------------------------------------
如果在帝国CMS的
userfun.php中调用当前栏目的目录没有反应,可能是由于以下原因导致的:
	全局变量未正确获取 :确保$class_r数组和$GLOBALS['navclassid']变量已经正确加载。 
	栏目目录字段问题 :如果$class_r[$GLOBALS['navclassid']]['classpath']没有返回值,可能是因为栏目目录字段未正确设置或数据库中对应的classpath字段为空。 
	模板或调用方式错误 :在模板中调用自定义函数时,需要确保模板的变量或标签正确使用。 
 
解决方案 
以下是一个经过验证的代码示例,用于在
userfun.php中获取当前栏目的目录:
function getClassPath($classid) {
    global $class_r, $empire;
    if (!$class_r[$classid]['classpath']) {
        // 如果$class_r中没有获取到目录,尝试从数据库中直接查询
        $row = $empire->fetch1("SELECT classpath FROM {$empire->dbtbpre}enewsclass WHERE classid='$classid'");
        return $row['classpath'];
    }
    return $class_r[$classid]['classpath'];
} 
在模板中调用此函数时,可以直接使用
<?=getClassPath($GLOBALS['navclassid'])?>。
检查步骤 
	确认栏目目录是否已设置 :在后台管理中检查对应栏目的目录是否已正确设置。 
	检查数据库字段 :登录数据库管理工具,检查enewsclass表中的classpath字段是否为空。 
	检查模板调用 :确保模板中正确调用了自定义函数,并且$GLOBALS['navclassid']变量已正确传递。 
 
如果问题仍未解决,建议检查服务器的错误日志或帝国CMS的日志文件,以获取更详细的错误信息。