phpcms v9의 2차 개발 및 사용 시 발생하는 다양한 문제에 대한 해결 방법 (2)
Dec 30, 2016 am 10:56 AMphpcms v9의 2차 개발 및 사용 시 발생하는 다양한 문제에 대한 해결 방법(2)
템플릿 호출
1. 콘텐츠 태그, 일련번호 123456789의 호출?
{pc:content action="lists" catid="$catid" order="id DESC" num="10"} {loop $data $k $v} <li>{$n}<a href="{$v<a href="http://www.lai18.com/content/%7D" >{str_cut($v['title'],44,'')}<="" a><="" li> {/loop}
<a href="http://www.lai18.com/content/%7D" >{str_cut($v['title'],44,'')}<="" a><="" li>{php $j=1;} {pc:content action="lists" catid="$catid" order="id DESC" num="10"} {loop $data $v} <li>{$j}<a href="{$v[url]}">{str_cut($v['title'],44,'')}</a></li> {$j++} {/loop}
<a href="http://www.lai18.com/content/%7D" >{str_cut($v['title'],44,'' )}<="" a><="" li>2. 기사 목록 제목의 표시 길이(또는 단어 수) 제어
제목이든 다른 것이든 상관없습니다. strcut 함수를 사용하여 가로챌 수 있습니다.
{strcut($v['title'],40,'')} 向后截取,{str_cut($v['title'],40,'')} 向前截取。 这 个就是剪切文字长度的,如果你不想显示三个点,就是在40(剪切的字符数)后面加上逗号(,), 再加上引号内容为空,如果想变成别的,比如来个❤型之类, 那就在引号内加上❤型。gbk一个汉字为2字符, utf版本一个汉字占用3个字符,注意一下编码再定剪切的字符数。
3. 두 번째 수준 및 세 번째 수준 열 이름을 반복합니다.
4. 홈페이지 또는 목록 페이지의 기사
moreinfo=1
5. 특정 열에 최신 기사 표시
{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} <li><a href="{$CATEGORYS[$r[catid]][url]}">[{$CATEGORYS[$r[catid]][catname]}]</a><a href="{$r[url]}" target="_blank">{$r[title]}</a></li> {/loop} {/pc}
6. 순위 목록을 클릭하여 채널 ID 지정
7. 컬럼 링크를 개별적으로 호출
8. 컬럼이 최상위 컬럼인지(서브 컬럼 포함) 여부를 판단하는 곳
{if $top_parentid}{/if}
9 .볼륨 호출 클릭 10. 중괄호 주의사항
템플릿 구문 분석과 충돌하지 않도록 중괄호를 2줄로 나누어 작성해야 합니다. 예:
{} //错误 { 正确 }
<a href="http://www.lai18.com/content/%7D" >{str_cut($v['title'],44,'')}<="" a><="" li>10、首页默认幻灯焦点不显示
文件名大小写原因造成的,解决方法:
文件\statics\js\jquery.sGallery.js 修改jquery.sgallery.js
11、不同的会员模型调用不同模板
打开phpcms\modules\member\index.php 在第30行找到 include template('member', 'index'); 修改为
if($memberinfo[modelid]==10){
include template('member', 'index(此处为原会员模型模板)');
}
else{
include template('member', 'indexXXX(此处为另一种会员模型的模板)');
}
复制代码
11、时间格式化
格式化时间 2011-05-06 11:22:33
{date('Y-m-d H:i:s',$r[inputtime])}
格式化时间 2011年05月06日
{date('Y年m月d日',$r[inputtime])}
12、论坛数据调用
13、类别调用方法
{pc:content action="lists" catid="79" order="listorder DESC" num="14" }
<?php $TYPE = getcache('type_content','commons');?>
{loop $data $n $r}
<li>{if $TYPE[$r[typeid]][name]}<span style="color:#CC6600">[ {$TYPE[$r[typeid]][name]}] </span>{/if}<a href="{$r['url']}"{title_style($r[style])}title="{$r['title']}" target="_blank">{str_cut($r[title],33,'')}</a></li>
{/loop}
{/pc}
复制代码
14、碎片
15、组图的调用
16、会员信息调用
17、只调用推荐的友情链接
调用所有的,在loop循环中判断elite的值,或者用get标签调用
18、调用一级栏目
指定catid="0"
19、首页调用多栏目的推荐内容
{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}
<li><a href="{$CATEGORYS[$r[catid]][url]}" target="_blank">{$CATEGORYS[$r[catid]][catname]}</a><font title= "{date('Y-m-d', $r[inputtime])}"> {date('d', $r[inputtime])}日</font></span><a href="{$r[url]}">{$r[title]}</a></li>
{/loop}
{/pc}
复制代码
20、subcat函数的用法
21、按时间归类的list页面
22、调取会员排行榜
{get sql="SELECT `userid`,`username`,`areaid`,`amount`,`point`,`modelid` FROM `phpcms_member_cache` ORDER BY `point` DESC" rows="10" }
复制代码
23、if的一些用法
{if $n ==2 || $n==3 }{/if}
这是以点数来排的……,试下能不能用哈!{$r[username]}
24、当前栏目调用父级及以下栏目信息
{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"}
复制代码
25、内容页调用【内容分页】的当前页如[2/20]的方法
想单独调用内容分页的{当前页}{总分页数}
例如文章标题“国内经济再次腾飞[1/5]”,国内经济再次腾飞[{$page}/{$pagenumber}]
26、调用全站最新内容
把多张表相同的字段读取最新的N条出来,按照inputtime排序,点击查看" target=_blank>}">{str_cut($v['title'],44,'')}</a></li>
{/loop}
复制代码
或者
{php $j=1;}
{pc:content action="lists" catid="$catid" order="id DESC" num="10"}
{loop $data $v}
<li>{$j}<a href="{$v[url]}">{str_cut($v['title'],44,'')}</a></li>
{$j++}
{/loop}
复制代码
2、文章列表标题显示长度(或者叫字数)的控制
不管是标题还是其它,都可以利用strcut函数进行截取,用法如下:
{strcut($v['title'],40,'')} 向后截取,{str_cut($v['title'],40,'')} 向前截取。这 个就是剪切文字长度的,如果你不想显示三个点,就是在40(剪切的字符数)后面加上逗号(,),再加上引号内容为空,如果想变成别的,比如来个❤型之类, 那就在引号内加上❤型。gbk一个汉字为2字符,utf版本一个汉字占用3个字符,注意一下编码再定剪切的字符数。
3、循环调用栏目二级和三级栏目名称
4、在首页或列表页显示文章详细内容
moreinfo=1
5、显示某些指定栏目内的最新文章
{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}
<li><a href="{$CATEGORYS[$r[catid]][url]}">[{$CATEGORYS[$r[catid]][catname]}]</a><a href="{$r[url]}" target="_blank">{$r[title]}</a></li>
{/loop}
{/pc}
复制代码
6、点击排行榜指定频道ID
7、单独调用栏目链接
8、判所在栏目是否为顶级栏目(有子栏目)
{if $top_parentid}{/if}
复制代码
9、点击量调用10、花括号的注意
为了不与模板解析冲突,花括号应该分成2行写,例如:
{} //错误
{ 正确
}
10、首页默认幻灯焦点不显示
文件名大小写原因造成的,解决方法:
文件\statics\js\jquery.sGallery.js 修改jquery.sgallery.js
11、不同的会员模型调用不同模板
打开phpcms\modules\member\index.php 在第30行找到 include template('member', 'index'); 修改为
if($memberinfo[modelid]==10){ include template('member', 'index(此处为原会员模型模板)'); } else{ include template('member', 'indexXXX(此处为另一种会员模型的模板)'); }
11、时间格式化
格式化时间 2011-05-06 11:22:33
{date('Y-m-d H:i:s',$r[inputtime])}
格式化时间 2011年05月06日
{date('Y年m月d日',$r[inputtime])}
12、论坛数据调用
13、类别调用方法
{pc:content action="lists" catid="79" order="listorder DESC" num="14" } <?php $TYPE = getcache('type_content','commons');?> {loop $data $n $r} <li>{if $TYPE[$r[typeid]][name]}<span style="color:#CC6600">[ {$TYPE[$r[typeid]][name]}] </span>{/if}<a href="{$r['url']}"{title_style($r[style])}title="{$r['title']}" target="_blank">{str_cut($r[title],33,'')}</a></li> {/loop} {/pc}
14、碎片
15、组图的调用
16、会员信息调用
17、只调用推荐的友情链接
调用所有的,在loop循环中判断elite的值,或者用get标签调用
18、调用一级栏目
指定catid="0"
19、首页调用多栏目的推荐内容
{
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} <li><a href="{$CATEGORYS[$r[catid]][url]}" target="_blank">{$CATEGORYS[$r[catid]][catname]}</a><font title= "{date('Y-m-d', $r[inputtime])}"> {date('d', $r[inputtime])}日</font></span><a href="{$r[url]}">{$r[title]}</a></li> {/loop} {/pc}
20、subcat函数的用法
21、按时间归类的list页面
22、调取会员排行榜
{get sql="SELECT `userid`,`username`,`areaid`,`amount`,`point`,`modelid` FROM `phpcms_member_cache` ORDER BY `point` DESC" rows="10" }
23、if的一些用法
{if $n ==2 || $n==3 }{/if}
这是以点数来排的……,试下能不能用哈!{$r[username]}
24、当前栏目调用父级及以下栏目信息
{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"}
25、内容页调用【内容分页】的当前页如[2/20]的方法
想单独调用内容分页的{当前页}{总分页数}
例如文章标题“国内经济再次腾飞[1/5]”,国内经济再次腾飞[{$page}/{$pagenumber}]
26、调用全站最新内容
把多张表相同的字段读取最新的N条出来,按照inputtime排序,[url=http://bbs.phpcms.cn/viewthread.php?tid=296531]点击查看
27、一次搜索全站所有模型内容
28、调用其他网站指定内容
在后台增加数据源 然后用get 调用即可
29、[url=http://bbs.phpcms.cn/viewthread.php?tid=279355]wshxh总结1 wshxh总结1
30、调用所有导航
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"} <ul class="nav-site"> <li><a href="{siteurl($siteid)}"><span>首页</span></a></li> {loop $data $r} <li class="line">|</li> <li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li> {/loop} </ul> {/pc}
31、全站显示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}
首页调用因为需要模型ID的,所以需要将:
get_one(array('hitsid'=>"c-".$modelid."-".$r[id]));
改为:
get_one(array('hitsid'=>"c-1-".$r[id]));
1为当前lists调用栏目所属的模型ID,系统自带文章系统为1,自定义模型请根据你自己的修改。
$r[id] 根据实际情况修改。
32、显示全站排行榜,显示收藏统计量
{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"} <ul> {loop $data $key $val} <li><a href="{str_replace('/index.html','',$val[url])}" target="_blank" title="{$val[title]}">{$val[title]}</a> {$val[count]}</li> {/loop} </ul> {/pc}
33、select的分页代码
{pc:content action="lists" catid="$catid" num="12" order="id DESC" return="data1" page="$page"}<select name="select_pages" onchange="location.href=this.options[this.selectedIndex].value;"> {loop $data $r1} {/loop} {str_replace("a href", "option value", str_replace("..", "", str_replace("</a", "</option", str_replace("a class", "option class", str_replace("</span>", "页</option>", str_replace("<span>", "<option selected>//", str_replace("> ", ">", $pages)))))))}</select>{/pc}
以上就是phpcms v9二次开发及使用中各种问题解决方案(二)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











간단하고 이해하기 쉬운 Java Hikvision SDK 보조 개발 가이드

세로 컷아웃 추론을 위한 TensorFlow 딥 러닝 프레임워크 모델 추론 파이프라인

Baidu 지능형 클라우드 Qianfan 대형 모델 플랫폼이 다시 업그레이드되었습니다. 5개의 대형 모델과 55개의 새로운 도구 구성 요소가 출시되었습니다!

Java Hikvision SDK의 2차 개발 기술 향상을 위한 핵심 요소
