国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

【phpcms-v9】利用[后臺]->[類別管理]為文章前后臺添加類別名

2024-09-10 07:15:47
字體:
供稿:網(wǎng)友

【phpcms-v9】利用[后臺]->[類別管理]為文章前后臺添加類別名稱.

1.給專題添加文章時,可以選擇類別:

2.給文章模型、圖片模型、下載模型的欄目下添加文章內(nèi)容時,默認不能選擇類別:

3.文章模型、圖片模型、下載模型的欄目下添加文章內(nèi)容時,能不能像專題一樣可以選擇類別?

4.如,要完成如下功能:在PHPCMS的文章管理列表,要實現(xiàn)在文章標(biāo)題前顯示文章類別,這樣就可以直接在文章列表里看到類別,不需要點擊進入編輯頁面才可以看到:

完成方法:打開 phpcms/modules/content/templates/content_list.tpl.php 文件,找到:

  1. <td>   
  2.         <?php   
  3.         if($status==99) {   
  4.             if($r['islink']) {   
  5.                 echo '<a href="'.$r['url'].'" target="_blank">';   
  6.             } elseif(strpos($r['url'],'http://')!==false) {   
  7.                 echo '<a href="'.$r['url'].'" target="_blank">';   
  8.             } else {   
  9.                 echo '<a href="'.$release_siteurl.$r['url'].'" target="_blank">';   
  10.             }   
  11.         } else {   
  12.             echo '<a href="javascript:;" onclick=/'window.open("?m=content&c=content&a=public_preview&steps='.$steps.'&catid='.$catid.'&id='.$r['id'].'","manage")/'>';   
  13.         }?><span<?php echo title_style($r['style'])?>><?php echo $r['title'];?></span></a> <?php if($r['thumb']!='') {echo '<img src="'.IMG_PATH.'icon/small_img.gif" title="'.L('thumb').'">'; } if($r['posids']) {echo '<img src="'.IMG_PATH.'icon/small_elite.gif" title="'.L('elite').'">';} if($r['islink']) {echo ' <img src="'.IMG_PATH.'icon/link.png" title="'.L('islink_url').'">';}?></td>   
  14.         <td align='center' title="<?php echo L('today_hits');?>:<?php echo $hits_r['dayviews'];?>   
  15. <?php echo L('yestoday_hits');?>:<?php echo $hits_r['yestodayviews'];?>   
  16. <?php echo L('week_hits');?>:<?php echo $hits_r['weekviews'];?>   
  17. <?php echo L('month_hits');?>:<?php echo $hits_r['monthviews'];?>"><?php echo $hits_r['views'];?></td>   
  18.         <td align='center'>   
  19.         <?php   
  20.         if($r['sysadd']==0) {   
  21.             echo "<a href='?m=member&c=member&a=memberinfo&username=".urlencode($r['username'])."&pc_hash=".$_SESSION['pc_hash']."' >".$r['username']."</a>";    
  22.             echo '<img src="'.IMG_PATH.'icon/contribute.png" title="'.L('member_contribute').'">';  //開源軟件:Vevb.com 
  23.         } else {   
  24.             echo $r['username'];   
  25.         }   
  26.         ?></td> 

 

在其前面添加如下幾行代碼即可:

  1. <span style="color:#CCC">   
  2. <?php $TYPE = getcache('type_content','commons');?>   
  3. 【<?php echo $TYPE[$r['typeid']]['name'];?>】   
  4. </span> 

 

合并到一塊如下:

  1. <td>   
  2.         <span style="color:#CCC">   
  3.         <?php $TYPE = getcache('type_content','commons');?>   
  4.             【<?php echo $TYPE[$r['typeid']]['name'];?>】   
  5.         </span>   
  6.         <?php   
  7.         if($status==99) {   
  8.             if($r['islink']) {   
  9.                 echo '<a href="'.$r['url'].'" target="_blank">';   
  10.             } elseif(strpos($r['url'],'http://')!==false) {   
  11.                 echo '<a href="'.$r['url'].'" target="_blank">';   
  12.             } else {   
  13.                 echo '<a href="'.$release_siteurl.$r['url'].'" target="_blank">';   
  14.             }   
  15.         } else {   
  16.             echo '<a href="javascript:;" onclick=/'window.open("?m=content&c=content&a=public_preview&steps='.$steps.'&catid='.$catid.'&id='.$r['id'].'","manage")/'>';   
  17.         }?><span<?php echo title_style($r['style'])?>><?php echo $r['title'];?></span></a> <?php if($r['thumb']!='') {echo '<img src="'.IMG_PATH.'icon/small_img.gif" title="'.L('thumb').'">'; } if($r['posids']) {echo '<img src="'.IMG_PATH.'icon/small_elite.gif" title="'.L('elite').'">';} if($r['islink']) {echo ' <img src="'.IMG_PATH.'icon/link.png" title="'.L('islink_url').'">';}?></td>   
  18.         <td align='center' title="<?php echo L('today_hits');?>:<?php echo $hits_r['dayviews'];?>   
  19. <?php echo L('yestoday_hits');?>:<?php echo $hits_r['yestodayviews'];?>   
  20. <?php echo L('week_hits');?>:<?php echo $hits_r['weekviews'];?>   
  21. <?php echo L('month_hits');?>:<?php echo $hits_r['monthviews'];?>"><?php echo $hits_r['views'];?></td>   
  22.         <td align='center'>   
  23.         <?php   
  24.         if($r['sysadd']==0) {   
  25.             echo "<a href='?m=member&c=member&a=memberinfo&username=".urlencode($r['username'])."&pc_hash=".$_SESSION['pc_hash']."' >".$r['username']."</a>";    
  26.             echo '<img src="'.IMG_PATH.'icon/contribute.png" title="'.L('member_contribute').'">';   
  27.         } else {   
  28.             echo $r['username'];   
  29.         }   
  30.         ?></td> 

 

5.如何在前臺顯示類別名稱?

如果想在前臺顯示類別名稱也可以通過上述方法來完成,比如:在pc標(biāo)簽中完成類別名稱的添加,注明:pc標(biāo)簽調(diào)用的都是phpcms/modules/content/libs/classes/content_tag.class文件,文件中的方法對應(yīng)pc標(biāo)簽中的action屬性,如:{pc:content action="lists"}{/pc} 對應(yīng)文件中 public lists(){//代碼}.

第一種方法:在pc標(biāo)簽的lists方法中添加類別名稱

  1. /**  
  2.      * 列表頁標(biāo)簽:主要返回的是主表中數(shù)據(jù)與附表中數(shù)據(jù)  
  3.      * @param $data  
  4.      */   
  5.     public function lists($data) {   
  6.         $catid = intval($data['catid']);                                    //pc標(biāo)簽中catid屬性   
  7.         if(!$this->set_modelid($catid)) return false;                        //會根據(jù)欄目id->對應(yīng)的模型id->對應(yīng)的模型表   
  8.         if(isset($data['where'])) {                                         //如果pc標(biāo)簽中設(shè)置了where屬性,一般情況下不存在   
  9.             $sql = $data['where'];                                             
  10.         } else {                                                            //如果pc標(biāo)簽中沒有設(shè)置where屬性    
  11.             $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';      //如果有thumb屬性   
  12.             if($this->category[$catid]['child']) {                           //當(dāng)前欄目下是否存在子欄目   
  13.                 $catids_str = $this->category[$catid]['arrchildid'];     //所有子欄目id,包括當(dāng)前欄目自身id   
  14.                 $pos = strpos($catids_str,',')+1;                             
  15.                 $catids_str = substr($catids_str$pos);                    //所有子欄目id,不包括當(dāng)前欄目自身id   
  16.                 $sql = "status=99 AND catid IN ($catids_str)".$thumb;       //拼接成一個sql語句   
  17.             } else {   
  18.                     $sql = "status=99 AND catid='$catid'".$thumb;               //如果當(dāng)前欄目下不存在子欄目   
  19.             }   
  20.         }   
  21.         $order = $data['order'];                                            //pc標(biāo)簽中order屬性   
  22.         //$sql作為一個條件出現(xiàn),調(diào)用的是model.calss.php文件中的select方法,返回結(jié)果集數(shù)組,并按照鍵名'id'排序   
  23.         $return = $this->db->select($sql'*'$data['limit'], $order'''id');//從數(shù)據(jù)庫中獲取主表數(shù)據(jù),使用的也是sql語句查詢   
  24.     
  25.    
  26.    
  27.    
  28.                  
  29.         //如果需要在前臺顯示類別名稱,可添加如下代碼   
  30.         /*  
  31.         $TYPES = getcache('type_content','commons');//獲取類別緩存文件,此文件緩存了所有與類別信息相關(guān)的信息  
  32.         foreach ($return as $key=>$v) {                                       
  33.             $return[$key][typename]=$TYPES[$v['typeid']][name];//給$return中的每篇文章追加一個類別字段  
  34.         }  
  35.         */   
  36.                 //調(diào)用副表的數(shù)據(jù)   
  37.         if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {   //如果pc標(biāo)簽中設(shè)置了moreinfo屬性:是否調(diào)用附表數(shù)據(jù)   
  38.             $ids = array();   
  39.             //$return為返回的主表數(shù)據(jù)   
  40.             foreach ($return as $v) {                                       //循環(huán)主表中的記錄信息:$v-主表中的每條記錄   
  41.                 if (isset($v['id']) && !emptyempty($v['id'])) {   
  42.                     $ids[] = $v['id'];                                      //ids[]是主表中排序完成的文章id數(shù)組   
  43.                 } else {   
  44.                     continue;   
  45.                 }   
  46.             }   
  47.             if (!emptyempty($ids)) {   
  48.                 $this->db->table_name = $this->db->table_name.'_data';      //副表名    
  49.                 $ids = implode('/',/''$ids);                              //以逗號拼接成一個字符串   
  50.                 $r = $this->db->select("`id` IN ('$ids')"'*''''''''id');//查詢與主表中數(shù)據(jù)有關(guān)的副表中的數(shù)據(jù)   
  51.                 if (!emptyempty($r)) {   
  52.                     foreach ($r as $k=>$v) {                             //副表中的數(shù)據(jù)   
  53.                         //$return:返回的主表中的數(shù)據(jù),主表中的id字段值與附表中的id字段值是對應(yīng)的,也就是說一篇文章在主表中存儲的id跟在附表中存儲的id的值是相等的   
  54.                         if (isset($return[$k])) $return[$k] = array_merge($v$return[$k]);//主表中數(shù)據(jù)與副表中數(shù)據(jù)合并    
  55.                     }   
  56.                 }   
  57.             }   
  58.         }   
  59.         return $return;   
  60.     }   

 

如果在pc標(biāo)簽的lists方法中添加類別名稱,則列表頁前臺代碼應(yīng)該如下:

  1. <!-- 列表頁新聞,每頁顯示25條新聞 -->   
  2.         {pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page"}   
  3.         <ul class="list lh24 f14">   
  4. {loop $data $r}   
  5.     <li>   
  6.         <span class="rt">{date('Y-m-d H:i:s',$r[inputtime])}</span>·   
  7.            
  8.         <!--類別名稱-->   
  9.         <font color="blue">[$r[typename]]</font>   
  10.  
  11.         <a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a></li>   
  12.     {if $n%5==0}<li class="bk20 hr">   
  13.         </li>   
  14.         {/if}   
  15. {/loop}   
  16.         </ul>   
  17.         <!-- 分頁 -->   
  18.         <div id="pages" class="text-c">{$pages}</div>   
  19. {/pc}   

 

第二種方法:直接在前臺代碼添加類別名稱

如果直接在列表頁前臺代碼中添加類別名稱,則代碼應(yīng)該如下:

  1. <!-- 列表頁新聞,每頁顯示25條新聞 -->  
  2.    
  3.         {php $TYPES = getcache('type_content','commons');}   
  4.    
  5.          
  6.         {pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page"}   
  7.         <ul class="list lh24 f14">   
  8. {loop $data $r}   
  9.     <li><span class="rt">{date('Y-m-d H:i:s',$r[inputtime])}</span><font color="blue">[ {$TYPES[$r[typeid]][name]}]</font>·<a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a></li>   
  10.     {if $n%5==0}<li class="bk20 hr"></li>{/if}   
  11. {/loop}   
  12.         </ul>   
  13.         <!-- 分頁 -->   
  14.         <div id="pages" class="text-c">{$pages}</div>   
  15. {/pc}   

 

效果都如下所示:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 威海市| 博湖县| 高邮市| 南召县| 玛曲县| 梅州市| 瑞安市| 安岳县| 绥化市| 普格县| 永年县| 巧家县| 临城县| 湘潭县| 松江区| 汉川市| 汝阳县| 兰溪市| 汉沽区| 普格县| 兰西县| 巴东县| 东丰县| 齐齐哈尔市| 陇川县| 平远县| 佛坪县| 肃南| 嘉禾县| 田阳县| 溆浦县| 寻乌县| 正阳县| 乐至县| 焦作市| 且末县| 扎鲁特旗| 榕江县| 徐汇区| 沂水县| 榆林市|