phpcms v9二次開發及使用中各種問題解決方案(一)
2013-04-01 17:48:08 來源: 評論:0 點擊:
phpcms v9二次開發及使用中各種問題解決方案(一)
模板調用
1、內容標簽,序號123456789的調用?
- {pc:content action="lists" catid="$catid" order="id DESC" num="10"}
- {loop $data $k $v}
- {$n}{str_cut($v['title'],44,'')}
- {/loop
或者
- {php $j=1;}
- {pc:content action="lists" catid="$catid" order="id DESC" num="10"}
- {loop $data $v}
- {php echo $j}{str_cut($v['title'],44,'')}
- {$j++}
- {/loop}
2、文章列表標題顯示長度(或者叫字數)的控制
不管是標題還是其它,都可以利用strcut函數進行截取,用法如下:
{strcut($v['title'],40,'')} 向后截取,{str_cut($v['title'],40,'')} 向前截取。這 個就是剪切文字長度的,如果你不想顯示三個點,就是在40(剪切的字符數)后面加上逗號(,),再加上引號內容為空,如果想變成別的,比如來個❤型之類, 那就在引號內加上❤型。gbk一個漢字為2字符,utf版本一個漢字占用3個字符,注意一下編碼再定剪切的字符數。
3、在首頁或列表頁顯示文章詳細內容
- moreinfo=1
4、顯示某些指定欄目內的最新文章
- {pc:get sql="SELECT * FROM phpcms_news WHERE catid IN(12,13,14,15,16,17,18) ORDER BY id DESC" num="10" return="data"}
- {loop $data $k $r}
- [{$CATEGORYS[$r[catid]][catname]}]{$r[title]}
- {/loop}
- {/pc}
5、判所在欄目是否為頂級欄目(有子欄目)
- {if $top_parentid}{/if}
6、點擊量調用10、花括號的注意
為了不與模板解析沖突,花括號應該分成2行寫,例如:
{} //錯誤
{ 正確
}
7、首頁默認幻燈焦點不顯示
文件名大小寫原因造成的,解決方法:
文件\statics\js\jquery.sGallery.js 修改jquery.sgallery.js
8、不同的會員模型調用不同模板
打開phpcms\modules\member\index.php 在第30行找到 include template('member', 'index'); 修改為
if($memberinfo[modelid]==10){
include template('member', 'index(此處為原會員模型模板)');
}
else{
include template('member', 'indexXXX(此處為另一種會員模型的模板)');
}
9、時間格式化
- 格式化時間 2011-05-06 11:22:33
- {date('Y-m-d H:i:s',$r[inputtime])}
- 格式化時間 2011年05月06日
- {date('Y年m月d日',$r[inputtime])}
11、類別調用方法
- {pc:content action="lists" catid="79" order="listorder DESC" num="14" }
- {loop $data $n $r}
- {if $TYPE[$r[typeid]][name]}[{$TYPE[$r[typeid]][name]}]{/if}{str_cut($r[title],33,'')}
- {/loop}
- {/pc}
12、只調用推薦的友情鏈接
調用所有的,在loop循環中判斷elite的值,或者用get標簽調用
13、調用一級欄目
指定catid="0"
14、首頁調用多欄目的推薦內容
- {pc:get sql="SELECT * FROM `v9_news` a, `v9_position_data` p WHERE a.id=p.id and posid=14 AND a.catid in(6,11) ORDER BY a.updatetime DESC" num="10"}
- {loop $data $r}
- {$CATEGORYS[$r[catid]][catname]} {date('d', $r[inputtime])}日{$r[title]}
- {/loop}
- {/pc}
15、調取會員排行榜
- {get sql="SELECT `userid`,`username`,`areaid`,`amount`,`point`,`modelid` FROM `phpcms_member_cache` ORDER BY `point` DESC" rows="10" }
16、if的一些用法
- {if $n ==2 || $n==3 }{/if}
17、當前欄目調用父級及以下欄目信息
- {php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}
- {pc:get sql="SELECT * FROM v9_news where catid in($arrchildid) cache="3600" page="$page" num="12" return="data"}
18、內容頁調用【內容分頁】的當前頁如[2/20]的方法
想單獨調用內容分頁的{當前頁}{總分頁數}
例如文章標題“國內經濟再次騰飛[1/5]”,國內經濟再次騰飛[{$page}/{$pagenumber}]
19、調用其他網站指定內容
在后台增加數據源 然后用get 調用即可
20、調用所有導航
- {pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
- 首頁{loop $data $r} | {$r[catname]}{/loop}
- {/pc}
21、全站顯示lists列表標簽文章的點擊數
普通lists標簽代碼(適合欄目):
- {pc:content action="lists" catid="$catid" num="10" order="id DESC"}
- {loop $data $r}
- {php $h_md=pc_base::load_model('hits_model');$get_db=$h_md->get_one(array('hitsid'=>"c-".$modelid."-".$r[id]));$views=$get_db[views];}
- 點擊:{$views}
- {/loop}
- {/pc}
- get_one(array('hitsid'=>"c-".$modelid."-".$r[id]));
- get_one(array('hitsid'=>"c-1-".$r[id]));
$r[id] 根據實際情況修改。
22、顯示全站排行榜,顯示收藏統計量
- {pc:get sql="select *,count(*) as count from phpcms_favorite where adddate>=DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY) group by title order by count(*) desc" return="data" num="9"}
- {loop $data $key $val}
- {$val[title]} {$val[count]}
- {/loop}
- {/pc}
23、select的分頁代碼
- {pc:content action="lists" catid="$catid" num="12" order="id DESC" return="data1" page="$page"} {loop $data $r1} {/loop}{str_replace("a href", "option value", str_replace("..", "", str_replace("", "頁", str_replace("", "//", str_replace("> ", ">", $pages)))))))}{/pc}