本文作者:DurkBlue

谈谈网站常用的单独调用文章/tag/缩略图

DurkBlue 2020-03-09 1879
谈谈网站常用的单独调用文章/tag/缩略图摘要: 网站一直没有出靠谱的列表插件,所以在网上整理了一下常用的列表,有些是可以直接在主题中进行使用,有些需要稍作修改,或者放在网站的include.php里面。获取分类ID为5的文章列表...

网站一直没有出靠谱的列表插件,所以在网上整理了一下常用的列表,有些是可以直接在主题中进行使用,有些需要稍作修改,或者放在网站的include.php里面。

谈谈网站常用的单独调用文章/tag/缩略图  第1张

获取分类ID为5的文章列表,并且包含子分类:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
{php}$str='';$cate=5;$array=Getlist(10,$cate,null,null,null,null,array('has_subcate'=>true));foreach ($array as $article){$str.='<li><a href="'.$article->Url.'">'.$article->Title.'</a></li>';}echo $str;{/php}


来点高级的,父分类列表显示子分类,子分类列表显示同级分类,文章列表显示分类及同级分类。

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
{php}
    global $zbp;
    $str='';if ($type=='category'){
    if ($category->ParentID>0) {  //如果父分类存在,那么显示父分类下所有子分类的列表
    $sidelistcategory=$zbp->GetCategoryByID($category->ParentID);
    $str.='<li class="cat-item"><a href="'.$sidelistcategory->Url.'">'.$sidelistcategory->Name.'</a></li>';
    $where=array(array('=','cate_ParentID',$category->ParentID));
        $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null);
        foreach ($array as $cate){
      $str.='<li class="cat-item"><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>';
        }
    echo $str;    }else{ //如果父分类不存在,显示自身所有自分类的列表$str.='<li class="current-cat"><a href="'.$category->Url.'">'.$category->Name.'</a></li>';
    $where=array(array('=','cate_ParentID',$category->ID));
        $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null);
        foreach ($array as $cate){
      $str.='<li class="cat-item"><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>';
        }
    echo $str;
    }
    }elseif ($type=='article'){
    
    $sidelistcategory=$zbp->GetCategoryByID($article->Category->ParentID);
    $str.='<li class="cat-item"><a href="'.$sidelistcategory->Url.'">'.$sidelistcategory->Name.'</a></li>';
    $where=array(array('=','cate_ParentID',$article->Category->ParentID));
        $array=$zbp->GetCategoryList(null,$where,array('cate_Order'=>'ASC'),null,null);
        foreach ($array as $cate){
        if ($cate->ID==$article->Category->ID){
          $str.='<li class="current-cat"><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>';
        }else{
      $str.='<li class="cat-item"><a href="'.$cate->Url.'">'.$cate->Name.'</a></li>';
        }
    }
    echo $str;   

    }{/php}

获取使用次数最多的tag列表(top 10):

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
function Nobird_Theme_Get_nbTags(){//top10 tag
    global $zbp,$str;
    $str = '';
    $array = $zbp->GetTagList('','',array('tag_Count'=>'DESC'),array(10),'');
    foreach ($array as $tag) {
        $str .= "<a href=\"{$tag->Url}\" title=\"{$tag->Name}\">{$tag->Name}</a>";
    }
    return $str;}

获取随机的10个tag列表:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
function Nobird_Theme_Get_rdTags(){// 随机10 tag
    global $zbp,$str;
    $str = '';
    $array = $zbp->GetTagList('','',array('rand()'=>' '),array(10),'');
    foreach ($array as $tag) {
        $str .= "<a href=\"{$tag->Url}\" title=\"{$tag->Name}\">{$tag->Name}</a>";
    }
    return $str;}

获取最新文章、最多浏览量、最多评论的文章列表:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
function Nobird_Theme_Get_Link($type,$num){
    global $zbp,$str,$order;
    $str = '';
    if($type=='new'){
        $order = array('log_PostTime'=>'DESC');
    }
    if($type=='hot'){
        $order = array('log_ViewNums'=>'DESC');
    }
    if($type=='comm'){
        $order = array('log_CommNums'=>'DESC');
    }
    $where = array(array('=','log_Status','0'));
    $array = $zbp->GetArticleList(array('*'),$where,$order,array($num),'');
    $i=1;
    foreach ($array as $article) {
        $str .= "<li><i>{$i}</i><a href=\"{$article->Url}\" title=\"{$article->Title}\">{$article->Title}</a></li>";
        $i++;
    }
  return $str;
 }

读者墙:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
function Nobird_Theme_Get_Readers(){
 global $zbp;$b = mktime(0,0,0,date('m')-1,date('d'),date('Y'));$e = mktime(0,0,0,date('m'),date('d')+1,date('Y'));$i=20;$sql = $zbp->db->sql->Select($zbp->table['Comment'],array('COUNT(comm_ID) AS cnt, comm_Name, comm_HomePage , comm_Email'),array(array('<>', 'comm_Name', '访客'),array('=', 'comm_AuthorID', 0),array('BETWEEN', 'comm_PostTime', $b, $e),array('CUSTOM', '1=1 GROUP BY comm_HomePage')),array('comm_PostTime' => 'DESC'),$i,null);$array=$zbp->db->Query($sql);$s ="\r\n";
    foreach ($array as $comment) {
        $s .= '<li><a title="" target="_blank" data-original-title="[' . $comment['comm_Name'] . '] 近期点评' . $comment['cnt'] . '次"><img width="36" height="36" class="avatar avatar-36 photo" src="http://www.gravatar.com/avatar/' .md5(strtolower($comment['comm_Email'])).'&amp;r=X&amp;s=36" alt=""></a></li>';
        $s .="\r\n";
    }
    $s .="\r\n";return $s;}

生成的列表,如果想要外部调用,在return语句之前,增加一句产生实体文件的语句。

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
    @file_put_contents($zbp->usersdir . 'theme/NBlue/include/abcdef.php', $str);

就可以在自身主题的任意位置通过:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
{module:abcdef}进行调用。

外部php程序,可以使用:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
echo file_get_contents('http://www.domain.com/zb_users/theme/NBlue/include/abcdef.php');//也就是产生文件的实际路径

进行调用。

外部静态页面,可以通过js引用以下文件进行动态js调用。

谈谈网站常用的单独调用文章/tag/缩略图  第2张 PHP
<?phprequire '../../../zb_system/function/c_system_base.php';require '../../../zb_system/function/c_system_admin.php';$zbp->Load();if (!$zbp->CheckPlugin('Nobird_CMS_2')) {$zbp->ShowError(48);die();}//Nobird_CMS_2 是主题ID$name = GetVars('name','GET');$file=$zbp->host . 'zb_users/theme/Nobird_CMS_2/include/'.$name.'.php';$strcontent=GetHttpContent($file);echo 'document.write(\''.$strcontent.'\');';?>

以上内容存为html2js.php,存放在主题文件夹下,然后在静态页面使用:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 Markup
<script charset="utf-8" type="text/javascript" src="http://127.0.0.1/zb_users/theme/Nobird_CMS_2/html2js.php?name=Nobird_CMS_2_rdtags"></script>

进行调用(此处假设生成的文件名为Nobird_CMS_2_rdtags.php)。


直接用网站的原生代码调用文章缩略图,代码如下:

谈谈网站常用的单独调用文章/tag/缩略图  第2张 Markup
<img src="{php}$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
$content = $article->Content;
preg_match_all($pattern,$content,$matchContent);
echo $matchContent[1][0];
{/php}" />

这些代码前台编译出来的html代码就是:<img src="图片地址">,可以加在任意想调用的地方。

此方法的优点:由于是网站本身的代码,所以对速度没有影响;缺点就是这个代码只能默认调用文章内的第一张图片,如果你的文章内没有图片的话,那就悲剧的什么都不显示了。所以这个方法只适用于每篇文章都习惯配图的朋友使用。

此篇文章由DurkBlue博客申请发布,转载吧请注明来处
文章投稿或转载声明

来源:DurkBlue版权归原作者所有,转载请保留出处。本站文章发布于 2020-03-09
温馨提示:文章内容系作者个人观点,不代表DurkBlue博客对其观点赞同或支持。

赞(0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享