PHPCMS調(diào)用默認(rèn)表最新文章有一下兩種方法:
1. get標(biāo)簽形式調(diào)用
2. 修改標(biāo)簽代碼實(shí)現(xiàn)最新文章調(diào)用
下面我們看看具體是實(shí)現(xiàn)方法:
第一種方法:用GET標(biāo)簽調(diào)用
這種方法不用修改PHPCMS的核心代碼,就可以達(dá)到模型表的最新數(shù)據(jù)調(diào)用,具體代碼片段如下:
- {pc:get sql="SELECT * from v9_news where status=99 and catid in(21,22,23,24,25) order by id DESC" start=="7" num="7" return="data"}
- {loop $data $r}
- <li><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r['title'],40)}({date('m-d',$r[inputtime])})</span></a></li>
- {/loop}
- {/pc}
第二種方法:修改標(biāo)簽代碼
PHPCMS的標(biāo)簽?zāi)J(rèn)只能調(diào)用單個(gè)主欄目下面的子欄目的文章,如果不填寫(xiě)欄目則無(wú)法調(diào)用數(shù)據(jù),填寫(xiě)多個(gè)欄目ID只調(diào)取首個(gè)欄目ID的文章,為什么這么說(shuō)呢?看看代碼就知道原因所在了.
- /**
- * 列表頁(yè)標(biāo)簽
- * @param $data
- */
- public function lists($data) {
- $catid = intval($data['catid']);
- if(!$this->set_modelid($catid)) return false;
- if(isset($data['where'])) {
- $sql = $data['where'];
- } else {
- $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
- if($this->category[$catid]['child']) {
- $catids_str = $this->category[$catid]['arrchildid'];
- $pos = strpos($catids_str,',')+1;
- $catids_str = substr($catids_str, $pos);
- $sql = "status=99 AND catid IN ($catids_str)".$thumb;
- } else {
- $sql = "status=99 AND catid='$catid'".$thumb;
- }
- }
- $order = $data['order'];
- $return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');
- //調(diào)用副表的數(shù)據(jù)
- if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
- $ids = array();
- foreach ($return as $v) {
- if (isset($v['id']) && !emptyempty($v['id'])) {
- $ids[] = $v['id'];
- } else {
- continue;
- }
- }
- if (!emptyempty($ids)) {
- $this->db->table_name = $this->db->table_name.'_data';
- $ids = implode('/',/'', $ids);
- $r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
- if (!emptyempty($r)) {
- foreach ($r as $k=>$v) {
- if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
- }
- }
- }
- }
- return $return;
- }
修改為添加所以欄目ID來(lái)查詢(xún)?nèi)頂?shù)據(jù),這樣和GET方法幾乎沒(méi)什么區(qū)別,只是標(biāo)簽形式不同而已.
- /**
- * 列表頁(yè)標(biāo)簽
- * @param $data
- */
- public function lists($data) {
- $catid = $data['catid'];
- $cid = intval( <span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">$catid </span>);
- if(!$this->set_modelid($cid)) return false;
- if(isset($data['where'])) {
- $sql = $data['where'];
- } else {
- $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
- if($cat_array=explode(',',$catid) ){
- $catids_str = $catid;
- foreach($cat_array as $k => $v){
- if($this->category[$v]['child']) {
- $catids_str .= ','.$this->category[$v]['arrchildid'];
- }
- }
- $sql = "status=99 AND catid IN ($catids_str)".$thumb;
- }else {
- $sql = "status=99 AND catid='$catid'".$thumb;
- }
- }
- $order = $data['order'];
- $return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');
- //調(diào)用副表的數(shù)據(jù)
- if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
- $ids = array();
- foreach ($return as $v) {
- if (isset($v['id']) && !emptyempty($v['id'])) {
- $ids[] = $v['id'];
- } else {
- continue;
- }
- }
- if (!emptyempty($ids)) {
- $this->db->table_name = $this->db->table_name.'_data';
- $ids = implode('/',/'', $ids);
- $r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
- if (!emptyempty($r)) {
- foreach ($r as $k=>$v) {
- if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
- }
- }
- }
- }
- return $return;
- }
標(biāo)簽調(diào)用形式,默認(rèn)第一個(gè)欄目ID為模型表:
- {pc:content action="lists" catid="1,2,3,4,5" order="listorder DESC,inputtime DESC,id DESC" moreinfo="1" start="7" num="7"}
- {loop $data $k $v}
- <li><a href="{$v[url]}" title="{$v[title]}" target="_blank"{title_style($v[style])}>{str_cut($v[title], 100)}</a></li>
- {/loop}
- {/pc}
新聞熱點(diǎn)
疑難解答
圖片精選