X1的独立页不是很好用,一直想实现像dedecms那样的栏目页作为单页使用,特别是对于关于我们栏目下化分多个单页的栏目
如果能将栏目做为单页使用就方便的多了,于是想到调用栏目的第一篇文章内容,但是尝试调用$rs.content输出出来是转义之后的纯文字,对于公司介绍需要图文混合的不是很理想,所以想到输出非转义的内容
方法代码:
{qb:listpage name="单篇文章数据调用" rows="1" order="list"}
<h3>{$rs.title}</h3>
{:fun("content@infos",$rs.id,cms)} //此处为fun新增函数调取非转义content字段
{/qb:listpage}
修改 application\common\fun下的content.php
新增函数:
public static function infos($aid = 0 , $sysid = '' , $format = false){
$mods = modules_config($sysid);
$dirname = $mods['keywords'];
if (empty($dirname)) {
return ;
}
$class = "app\\$dirname\\model\\Content";
if ( !class_exists($class) || !method_exists($class,'getInfoByid') ) {
return ;
}
$obj = new $class;
if (is_numeric($aid)) {
$info = $obj->getInfoByid($aid,$format);
}else{
if (is_array($aid)) {
$map = is_array($aid['where'])?$aid['where']:$aid;
}else{
$map = Label::where($aid);
}
if (empty($map['mid'])) {
$mid = 1;
}else{
$mid = is_numeric($map['mid'])?$map['mid']:$map['mid'][1];
}
$array = $obj->getListByMid($mid,$map,$order='id desc',$rows=1,$pages=[],$format);
$info = getArray($array)['data'][0];
}
if(empty($info)){
return ;
}
if ($format===true&&empty($info['picurls'])) {
$info['picurls'] = self::get_images($info['content']);
}
$info['module_dir'] = $mods['keywords']; //频道目录,生成频道网址要用到
$info['module_name'] = $mods['name']; //频道名称
return $info['content'];
}