1.截取调用标题长度
{str_cut($r[title],36,'')}
2.格式化时间
调用格式化时间 2011-05-06 11:22:33
{date('Y-m-d H:i:s',$r[inputtime])}
3.多栏目调用&多推荐位调用
调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;
从第三条开始,连续调用7篇文章。
{pc:get
sql="SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_data
WHERE posid in(27,28) and catid in(59,60,61)) order by listorder DESC"
cache="3600" start="3" num="7" return="data" }
{loop $data $n $r}
<li>·<a
target="_blank" href='{$r[url]}' title="{$r[title]}"
style="color:Black;">{str_cut($r[title],22,'')}</a></li>
{/loop}
{/pc}
4.显示栏目名称(只是名称,不带链接)
{$catname}
显示栏目名称和链接(可以点击)
<a href="{$CATEGORYS[$r[catid]][url]}">{$CATEGORYS[$r['catid']]['catname']}</A>
5.获取父栏目id/获取父栏目名称
{$CATEGORY[$catid][parentid]}
父栏目名称:{$CATEGORYS[$CAT[parentid]][catname]}
6.外部数据源调用
dedecmsdb 在后台数据源处添加
{pc:get sql="SELECT * FROM cq_member where mtype='企业' " cache="3600" dbsource="dedecmsdb" num="7" return="data"}
{loop $data $r}
<a href="/member/index.php?uid={$r[userid]}" title="{$r[uname]}" target="_blank">{str_cut($r[uname],28,'')}</a>
{/loop}
{/pc}
7.调用子栏目(在栏目首页模板需要用到)
{pc:content action="category" cat>
<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}
10.指定变量循环增长(幻灯片经常用到)
{pc:content action="lists" cat>注意:explode(',',$r[keywords]);是将文章关键词通过英文逗号分离,也就是说每一篇文章都要以逗号间隔关键字,否则调用出来会
是全部作为一个关键字。如果是空格间隔关键字,将explode(',',$r[keywords]);改成explode('
',$r[keywords]);
{pc:content action="lists" cat>
<a
href="{APP_PATH}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)}"
class="blue"> {$keyword}</a>
{/loop}
{/loop}
{/pc}
14.每当列表几行的时候出现一次某些符号(比如首页里面的文章推荐,一行显示两条,在这两条中间想加一条竖线 | 就用到这个代码了)
数量大的话就容易出错,因为模运算嘛~~呵呵 不过一般也就4个标题以下
{pc:content action="position" pos><a
style="color:#040605" title="{$r[title]}" href="{$r[url]}"
target=_blank>{str_cut($r[title],26,'')}</a>{if $n%2==1} |{/if}
{/loop}
{/pc}
15.v9 列表页完美支持自定义段调用
{pc:content action="lists" cat><LI><a
href="{$val['url']}" target="_blank"><img src="{$val['自定义段']}"
alt="{$val['title']}" height=36 width=98 /></a>
<a href="{$val['url']}" target="_blank">{str_cut($val['title'],20)}</a></LI>
{/loop}
{/pc}
20.编辑器上传图片自动使用标题作为alt参数
一: 修改 statics/js/ckeditor/plugins/image/dialogs/image.js
找到
accessKey:'T','default':''
替换成
accessKey:'T','default':$('#title').val()
二: 清除浏览器缓存
21.增加文章的随机点击数
找到100行的$views = $r['views'] +1
修改为:
$rand_nums=rand(79,186);
$views = $r['views'] + $rand_nums;
表示点击一次,增加79到186次不等
-------------------------------------------------------------
tips:某些版本出错民间解决方法
1.缩略图以及图集无法上传
\phpcms\libs\classes\attachment.class.php
请把24行的(也有可能是23行)
$this->upload_func = 'copy';
改成
$this->upload_func = 'move_uploaded_file';
2.碎片模块搜索文章看不到栏目
phpcms\modules\block\templates\search_content.tpl.php
13行改成
<td><?php
if(isset($_GET['dosubmit'])){?><div class="rt"><a
href="javascript:void(0)" onclick="$('#search').toggle()"><?php
echo L('folded_up_in_search_of')?></a></div><?php }
echo form::select_category('', $catid, 'name="catid" ><!--{get
sql="select
A.contentid,A.catid,A.title,A.thumb,A.description,A.url,A.status,A.updatetime,B.contentid,B.hits,B.comments
from `phpcms_content` as A INNER JOIN `phpcms_content_count` as B ON
A.contentid=B.contentid and A.status=99 and LENGTH(A.thumb)>0 order
by B.comments desc LIMIT 3,7"}-->
<li><span
class="xxnse_fen2">{$r[comments]}人参与评论</span>·<a
href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],
28)}</a></li>
<!--{/get}-->
</ul>
关键点就在 order by B.comments desc LIMIT 3,7 (表示从第3条记录开始,向下读取7条数据)这个在MYSQL是经常用,我抱着试试看的想法,结果是可以的。
效果如下:
\
希望做PHPCMS开发的朋友共同学习和分享
phpcms V9 保留了2008的get标签的使用方法
它包括了2种方式一种是内部数据,另一种是外部数据
我们先分析下内部数据的使用方法
1、内部数据的调用
{pc:get sql="SELECT * FROM `XX` WHERE fid =$ltid AND digest =2 AND
ifupload =1 ORDER BY tid DESC" num="2" cache= "3600" return="data" }
{loop $data $r}
。。。。。
{/loop}{/pc}
由此可以看出 get 语句支持num的用法但是不支持 limit 5,5.这样的用法
实在是很遗憾
num是调用的条数
2、外部数据的调用
{ pc : get sql = "SELECT * FROM phpcms_member" cache = "3600" page = "$page" dbsource = "discuz" return = "data" }
<ul>
{ loop $data $key $val }
{ $val [ username ]}< br />
{ /loop}
</ ul >
{ $pages }
{/ pc }
一个是数据源,一个是产生的pages翻页效果
相关文章: