详情页

帝国CMS调用发布者所有文章列表的两种方法!包含高级应用!

时间:2024年03月25日

编辑:佚名

帝国cms调用查看作者的所有文章
帝国CMS实现查看作者的所有文章一共2种方法
一、链接到搜索页
注意:因为一般搜索字节为2个字节,而最先注册的前9位会员会员id为个位数(即;1个字节),所以要先把搜索字节设置为1个字节
     后台--系统--系统设置--系统参数设置--搜索设置--搜索关键字(这里把默认的“2到20”中的2修改为1
格式:/e/search/?searchget=1&keyboard=会员ID&show=userid&member=1
列表内容模板(list.var) 调用:
<a href="e/search/?searchget=1&keyboard=[!--userid--]&show=userid&member=1">[!--username--]</a>
内容页:
方法1、调用作者多种信息
<?php 
$userr=sys_ShowMemberInfo(0,''); 
?>
<span>会员头像:<img src="<?=$userr[userpic]?$userr[userpic]:$public_r[newsurl].'e/data/images/doimg.gif'?>"></span> <br>
<span>会员:<?=$userr[username]?></span> <br>
<span>会员ID:<?=$userr[userid]?></span> <br>
<span>注册时间:<?=$userr[registertime]==null?"":date('y-m-d',$userr[registertime])?></span> <br>
<span>会员积分:<?=$userr[userfen]?>分</span> <br>
<span>发布新闻:<?=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news where userid='$navinfor[userid]' and ismember=1")?>条</span> <br>
<span>会员组:<?=$userr[groupname]?></span><br>
<span>作者文章列表2:<a href="<?=$public_r[newsurl]?>e/search/?searchget=1&keyboard=<?=$userr[userid]?>&show=userid&member=1">文章列表</a></span><br>
方法2、直接用链接(不好使,在没有作者的文章中链接会链到会员ID为1的会员,但名称却是管理员的)
<a href="[!--news.url--]e/search/?searchget=1&keyboard=[!--userid--]&show=userid&member=1">[!--username--]</a>
方法3、灵动标签调用
[e:loop={'selfinfo',1,0,0,"userid='$navinfor[userid]' and classid='$navinfor[classid]' and id=$navinfor[id] and ismember=1"}]
<a href="<?=$public_r[newsurl]?>e/search/?searchget=1&keyboard=<?=$bqr['userid']?>&show=userid&member=1" target="_blank"><?=$bqr['username']?></a>
[/e:loop]  
注释:<?=$public_r[newsurl]?>网站根目录  <?=$bqr['userid']?>会员id   mid=1数据模型id    tempid=6列表模板ID 
==============================================================================================================
二、链接到作者空间(PHP文件本文章最后提供)
使用说明:使用时可用list.php或list2.php,
①、list.php链接到会员空间的文章列表,
    格式: e/space/list.php?mid=1&userid=2
②list2.php自定义的作者文章列表,可用自己制作的
     格式:e/space/list2.php?mid=1&tempid=9&userid=2
注释:mid=1数据模型id    tempid=9列表模板ID(和数据模型关联)     userid=2作者id
注意:list2.php可选择模板(tempid=模板ID),而list.php不可选,即list.php选择了模板也还会自动链接到会员空间的文章列表
----------------------------------------------------------------------------------------------------------------
列表内容模板(list.var) 调用
 <a href="[!--news.url--]e/space/list2.php?mid=1&tempid=9&userid=[!--userid--]">[!--username--]</a>
      
例子:下列将链接到作者空间文章列表
<a href="http://127.0.0.1/dg/e/space/list.php?mid=3&tempid=1&userid=1">王伟</a>
<a href="[!--news.url--]e/space/list.php?mid=3&tempid=1&userid=[!--userid--]">[!--username--]</a>
------------------------------------------------------------------------------------------------
内容页调用
方法1、调用作者多种信息
<?php 
$userr=sys_ShowMemberInfo(0,''); 
?>
<span>会员头像:<img src="<?=$userr[userpic]?$userr[userpic]:$public_r[newsurl].'e/data/images/doimg.gif'?>"></span> <br>
<span>会员:<?=$userr[username]?></span> <br>
<span>会员ID:<?=$userr[userid]?></span> <br>
<span>注册时间:<?=$userr[registertime]==null?"":date('y-m-d',$userr[registertime])?></span> <br>
<span>会员积分:<?=$userr[userfen]?>分</span> <br>
<span>发布新闻:<?=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news where userid='$navinfor[userid]' and ismember=1")?>条</span> <br>
<span>会员组:<?=$userr[groupname]?></span><br>
<span>作者文章列表:<a href="<?=$public_r[newsurl]?>e/space/list.php?userid=<?=$userr[userid]?>&mid=1">文章列表</a></span><br>
方法2、直接用链接(不好使,在没有作者的文章中链接会链到会员ID为1的会员,但名称却是管理员的)
<a href="[!--news.url--]e/space/list.php?mid=1&tempid=1&userid=[!--userid--]">[!--username--]</a>               
方法3、灵动标签调用
[e:loop={'selfinfo',1,0,0,"userid='$navinfor[userid]' and classid='$navinfor[classid]' and id=$navinfor[id] and ismember=1"}]
 作者文章列表:<a href="<?=$public_r[newsurl]?>e/space/list.php?userid=<?=$bqr['userid']?>&mid=1" target="_blank"><?=$bqr['username']?></a>
 <br>
[/e:loop]  
注释:<?=$public_r[newsurl]?>网站根目录  <?=$bqr['userid']?>会员id   mid=1数据模型id    tempid=6列表模板ID 
list2.php下载
链接: https://pan.baidu.com/s/1yptZLBQ7YLrcgj4uIe0sSA 提取码: nzff
list2.php
<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../class/functions.php');
require('../class/t_functions.php');
require('../data/dbcache/class.php');
require LoadLang('pub/fun.php');
require("../member/class/user.php");
$link=db_connect();
$empire=new mysqlquery();
$userid=0;
$username='';
require('CheckUser.php');//验证用户
$tbname='';
$add='';
$addorder='newstime desc';
$search='';
$GLOBALS['navclassid']=0;
$yhid=0;
$yhvar='qlist';
//模型ID
$mid=(int)$_GET['mid'];
if($mid)
{
    $tbname=$emod_r[$mid]['tbname'];
    if(empty($tbname))
    {
        printerror('ErrorUrl','',1);
    }
    $search.='&mid='.$mid;
    $yhid=$etable_r[$tbname][yhid];
}
$pagetitle=$public_r['sitename'];
$pagekey=$public_r['sitename'];
$pagedes=$public_r['sitename'];
$classimg=$public_r[newsurl].'e/data/images/notimg.gif';
$url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a>&nbsp;>&nbsp;".$username."的信息列表";
$pageecms=1;
$pageclassid=0;
$have_class=1;
//栏目
$trueclassid=0;
$classid=$_GET['classid'];
if($classid)
{
    $classid=RepPostVar($classid);
    if(strstr($classid,','))//多栏目
    {
        $son_r=sys_ReturnMoreClass($classid,1);
        $trueclassid=$son_r[0];
        $add.=' and ('.$son_r[1].')';
    }
    else
    {
        $trueclassid=intval($classid);
        if($class_r[$trueclassid][islast])//终极栏目
        {
            $add.=" and classid='$trueclassid'";
            $have_class=0;
        }
        else
        {
            $add.=' and '.ReturnClass($class_r[$trueclassid][sonclass]);
        }
        $cr=$empire->fetch1("select classpagekey,intro,classimg,cgroupid from {$dbtbpre}enewsclass where classid='$trueclassid'");
        //权限
        if($cr['cgroupid'])
        {
            $mgroupid=(int)getcvar('mlgroupid');
            if(!strstr($cr[cgroupid],','.$mgroupid.','))
            {
                printerror('NotLevelToClass','history.go(-1)',1);
            }
        }
        $pagetitle=$class_r[$trueclassid]['classname'];
        $pagekey=$cr['classpagekey'];
        $pagedes=$cr['intro'];
        $classimg=$cr['classimg']?$cr['classimg']:$public_r[newsurl].'e/data/images/notimg.gif';
        $url=ReturnClassLink($trueclassid);
        $pageecms=0;
        $pageclassid=$trueclassid;
        $GLOBALS['navclassid']=$trueclassid;
    }
    if(empty($class_r[$trueclassid][tbname]))
    {
        printerror('ErrorUrl','',1);
    }
    if(empty($tbname))
    {
        $tbname=$class_r[$trueclassid][tbname];
        $mid=$class_r[$trueclassid][modid];
        $yhid=$class_r[$trueclassid][yhid];
    }
    if($class_r[$trueclassid][reorder])
    {
        $addorder=$class_r[$trueclassid][reorder];
    }
    $search.='&classid='.$classid;
}
if(empty($tbname)||InfoIsInTable($tbname))
{
    printerror('ErrorUrl','',1);
}
if($public_r['fieldandclosetb']&&stristr($public_r['fieldandclosetb'],','.$tbname.','))
{
    printerror('ErrorUrl','',1);
}
//头条
if($_GET['firsttitle'])
{
    $firsttitle=(int)$_GET['firsttitle'];
    if($firsttitle==10)
    {
        $add.=" and firsttitle>0";
    }
    else
    {
        $add.=" and firsttitle='".$firsttitle."'";
    }
    $search.='&firsttitle='.$firsttitle;
}
//头条
if($_GET['isgood'])
{
    $isgood=(int)$_GET['isgood'];
    if($isgood==10)
    {
        $add.=" and isgood>0";
    }
    else
    {
        $add.=" and isgood='".$isgood."'";
    }
    $search.='&isgood='.$isgood;
}
//时间
if($_GET['endtime'])
{
    $starttime=RepPostVar($_GET['starttime']);
    if(empty($starttime))
    {
        $starttime='0000-00-00';
    }
    $endtime=RepPostVar($_GET['endtime']);
    if(empty($endtime))
    {
        $endtime='0000-00-00';
    }
    if($endtime!='0000-00-00')
    {
        $add.=" and (newstime BETWEEN '".to_time($starttime." 00:00:00")."' and '".to_time($endtime." 23:59:59")."')";
        $search.='&starttime='.$starttime.'&endtime='.$endtime;
    }
}
//每页显示记录数
$line=(int)$_GET['line'];
if($line<1||$line>80)
{
    if($class_r[$trueclassid]['lencord'])
    {
        $line=$class_r[$trueclassid]['lencord'];
    }
    else
    {
        $line=intval($public_r['qlistinfonum']);
    }
}
if(empty($line))
{
    printerror('ErrorUrl','',1);
}
//列表模板
$tempid=(int)$_GET['tempid'];
if(empty($tempid))
{
    if($trueclassid)//栏目
    {
        $tempid=$class_r[$trueclassid]['dtlisttempid']?$class_r[$trueclassid]['dtlisttempid']:$class_r[$trueclassid]['listtempid'];
    }
}
else
{
    DtTempIsClose($tempid,'listtemp');
}
if(empty($tempid))
{
    printerror('ErrorUrl','',1);
}
$tempr=$empire->fetch1("select tempid,temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewslisttemp")." where tempid='$tempid'");
if(empty($tempr[tempid]))
{
    printerror('ErrorUrl','',1);
}
$search.='&line='.$line.'&tempid='.$tempid;
if(empty($mid))
{
    $mid=$tempr['modid'];
}

if(!empty($emod_r[$mid]['listandf'])&&$_GET['ph']==1)
{
    $andor=$_GET['andor']=='or'?'or':'and';
    $search.='&ph=1&andor='.$andor;
    $listandf='';
    $andr=explode(',',$emod_r[$mid]['listandf']);
    $count=count($andr)-1;
    for($i=1;$i<$count;$i++)
    {
        $andval=$_GET[$andr[$i]];
        if(!empty($andval))
        {
            $andval=RepPostVar2($andval);
            $doandor=empty($listandf)?'':' '.$andor.' ';
            if(strstr($andval,'__'))
            {
                $andbtr=explode('__',$andval);
                $andbtr[0]=(float)$andbtr[0];
                $andbtr[1]=(float)$andbtr[1];
                if($andbtr[0]&&$andbtr[1])
                {
                    $listandf.=$doandor.$andr[$i]." BETWEEN '".$andbtr[0]."' and '".$andbtr[1]."'";
                }
            }
            elseif(empty($emod_r[$mid]['setandf']))
            {
                $listandf.=$doandor.$andr[$i]."='".$andval."'";
            }
            else
            {
                $listandf.=$doandor.$andr[$i]." like '%".$andval."%'";
            }
            $search.="&".$andr[$i]."=$andval";
        }
    }
    if($listandf)
    {
        $add.=' and ('.$listandf.')';
    }
}
$add.=" and userid=".$userid;
//排序
$orderby=RepPostVar($_GET['orderby']);
$myorder=(int)$_GET['myorder'];
if($orderby)
{
    $orderr=ReturnDoOrderF($mid,$orderby,$myorder);
    $addorder=$orderr['returnorder'];
}
$search.='&orderby='.$orderby.'&myorder='.$myorder.'&userid='.$userid;
$page=(int)$_GET['page'];
$page=RepPIntvar($page);
$start=0;
$page_line=16;//每页显示链接数
$offset=$page*$line;//总偏移量
//系统模型
$ret_r=ReturnReplaceListF($mid);
//优化
$yhadd='';
if($yhid)
{
    $yhadd=ReturnYhSql($yhid,$yhvar);
}
//总数
$totalnum=(int)$_GET['totalnum'];
if($totalnum<1)
{
    $totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);
    $num=$empire->gettotal($totalquery);
}
else
{
    $num=$totalnum;
}
$search.='&totalnum='.$num;
//置顶
if($public_r['fieldandtop'])
{
    $addorder='istop desc,'.$addorder;
}
$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);
$query.=" order by ".$addorder." limit $offset,$line";
$sql=$empire->query($query);
//分页
$listpage=page1($num,$line,$page_line,$start,$page,$search);
//页面支持标签
if($public_r['dtcanbq'])
{
    $tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);
}
else
{
    if($public_r['searchtempvar'])
    {
        $tempr[temptext]=ReplaceTempvar($tempr[temptext]);
    }
}
$listtemp=$tempr[temptext];
$rownum=$tempr[rownum];
if(empty($rownum))
{$rownum=1;}
$formatdate=$tempr[showdate];
$subnews=$tempr[subnews];
$subtitle=$tempr[subtitle];
$docode=$tempr[docode];
$modid=$tempr[modid];
$listvar=str_replace('[!--news.url--]',$public_r[newsurl],$tempr[listvar]);
//公共
$listtemp=str_replace('[!--newsnav--]',$url,$listtemp);//位置导航
$listtemp=Class_ReplaceSvars($listtemp,$url,$pageclassid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,$pageecms);
$listtemp=str_replace('[!--page.stats--]','',$listtemp);
$listtemp=str_replace('[!--show.page--]',$listpage,$listtemp);
$listtemp=str_replace('[!--show.listpage--]',$listpage,$listtemp);
$listtemp=str_replace('[!--list.pageno--]',$page+1,$listtemp);
//取得列表模板
$list_exp="[!--empirenews.listtemp--]";
$list_r=explode($list_exp,$listtemp);
$listtext=$list_r[1];
$no=$offset+1;
$changerow=1;
while($r=$empire->fetch($sql))
{
    //替换列表变量
    $repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
    $listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
    $changerow+=1;
    //超过行数
    if($changerow>$rownum)
    {
        $changerow=1;
        $string.=$listtext;
        $listtext=$list_r[1];
    }
    $no++;
}
//多余数据
if($changerow<=$rownum&&$listtext<>$list_r[1])
{
    $string.=$listtext;
}
$string=$list_r[0].$string.$list_r[2];
echo stripSlashes($string);

db_close();
$empire=null;
?>
相关文章
猜你需要