Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /www/wwwroot/01xj.net/wp-content/plugins/wp-ue/main.php on line 13
PHPCMS v9代码 – 我的空间 · 我做主

PHPCMS v9代码

1.去掉标题限制后出现的省略号
{str_cut($r[title],36,”)}
标题颜色{title_style($v[style])}

2.格式化时间
2011-05-06 11:22:33{date(‘Y-m-d H:i:s’,strtotime($inputtime))}
格式化时间 2011年05月06日{date(‘Y年m月d日’,strtotime($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” catid=”$catid” num=”25″ siteid=”$siteid” order=”listorder ASC”}{loop $data $r}

<a href=”{$r[url]}”>{$r[catname]}</a> | {/loop}{/pc}

8.显示指定id的栏目名称
(例子这里catid=22){$CATEGORYS[22][‘catname’]}

9.在文章面前显示文章类别
{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}

10.指定变量循环增长(幻灯片经常用到)
{pc:content action=”lists” catid=”66″ order=”listorder DESC” thumb=”1″ num=”5″ }

{php $num = 0}

{loop $data $r}

linkarr[{$num}] = “{$r[url]}”;

picarr[{$num}] = “{$r[thumb]}”;

textarr[{$num}] = “{str_cut($r[title],36,”)}”;

{php $num++}

{/loop}

{/pc}

11.文章调用使用limit
{pc:content action=”position” posid=”36″ num=”1″ order=”listorder DESC limit 1,1–” }

其他都是跟以前一样使用

{pc:content action=”position” posid=”31″ order=”listorder DESC” limit=’1,8–‘}

{loop $data $r}

<li><a href=”{$r[url]}” title=”{$r[title]}” target=_blank>{str_cut($r[title],36,”)}</a></li>

{/loop}

{/pc}

12.文章从指定位置开始调用
(谢谢txd1110提醒)起始位置为5,调用3条。相当于limit功能。

{pc:content action=”position” posid=”27″ order=”listorder DESC” num=”3″ start=”5″}

{loop $data $r}

<a href='{$r[url]}’>{str_cut($r[description],115)}… </a>

{/loop}

{/pc}

复制代码13.文章列表页调用关键字,或者首页调用关键字
注意:explode(‘,’,$r[keywords]);是将文章关键词通过英文逗号分离,也就是说每一篇文章都要以逗号间隔关键字,否则调用出来会是全部作为一个关键字。如果是空格间隔关键字,将explode(‘,’,$r[keywords]);改成explode(‘ ‘,$r[keywords]);{pc:content action=”lists” catid=”$catid” num=”10″ order=”id DESC” page=”$page”}{loop $data $r}

<a href=”{$r[url]}”>{$r[title]}</a>

{php $keywords = explode(‘,’,$r[keywords]);}

<b>文章标签:</b>

{loop $keywords $keyword}

<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” posid=”8″ order=”listorder DESC” num=”2″}{loop $data $r}

<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 列表页完美支持自定义段调用
(lastkaixin){pc:content action=”lists” catid=”$catid” num=”25″ order=”id DESC” page=”$page” moreinfo=”1″}

{loop $data $r}

<a href=”{$r[url]}”>[{$r[‘字段名’]}]> {$r[title]}</a>

{/loop}

<div class=”pagebar”>

{$pages}</div>

{/pc}

16.当前栏目调用父级及以下栏目信息方法
(windf)其他代码 该咋地还是要咋地 。这是要素

{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”}

17.V9表单功能 提交之后如何返回当前页面,而不是默认的首页文件地址
找到 phpcms\modules\formguide\index.php文件第73行showmessage(L(‘thanks’), APP_PATH);
修改成 如下代码即可实现自动返回前一页showmessage(L(‘thanks’), HTTP_REFERER);

18.v9 首页或分页自定义字段调用(phpcms2011)
和15差不多
第一普通列表或栏目调用自定义字段
在{pc:content action=”lists” 后加上副表moreinfo=1 (等于1时显示,0时不显示)
例子:{pc:content action=”lists” moreinfo=1 catid=”2″ order=”id DESC” num=”4″}

<ul>{loop $data $key $val}<li><a href=”{$val[‘url’]}”>{$val[‘title’]}</a>

<br>价格:{str_cut($v[‘自定义段’],100)} //100 是字数

</li>{/loop}</ul>{/pc}
第二种推荐位调用自定义字段
在模型里加好自定义字段后,必须把“在推荐位标签中调用”点击“是“
然后用同一样的方法去调节数据就OK了,记住,如果你加了文章,必须去更新文章才会显示,自定义段在推荐中只显示你选择后,选择前加的加文章不显示,更新一下文章就显示了
例子:{pc:content action=”position” posid=”推荐位id” num=”30″ thumb=”1″ moreinfo=”1″ order=”listorder DESC”}

{loop $data $key $val}<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}

19.V9调用discuz 论坛x2版本数据库的方法 (meteors)
原帖地址:http://bbs.phpcms.cn/viewthread.php?tid=280865

20.编辑器上传图片自动使用标题作为alt参数(世界首富)
原帖地址:http://bbs.phpcms.cn/viewthread.php?tid=280301

21.增加文章的随机点击数(viqecel)
找到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” id=”catid”‘, ”,

”, ‘0’, 1)?> </td>

22.评论完美的支持换行
http://bbs.phpcms.cn/thread-286205-1-1.html{nl2br($r[content])}

23.部分文件修改(来自交流群)
1.phpcms\modules\admin\templates\index.tpl.php内删除 锁屏后其它链接
2.phpcms\languages\zh-cn\admin.lang.php 更改基础信息
3.main.tpl.php 更改后台主页 信息 如:PHPCMS 开发团队
4.caches\configs\database.php 改数据库链接密码

24.同时调用多个栏目的文章,文章前显示栏目名称(0622版本通过测试)
{pc:get sql=”SELECT * FROM v9_news WHERE catid IN (61,62,63,64,65) order by id DESC” num=”10″ return=”data” }

{loop $data $n $r}

<LI><SPAN><a href=”{$CATEGORYS[$r[catid]][url]}”>[{$CATEGORYS[$r[‘catid’]][‘catname’]}]</A></SPAN><A href=”{$r[url]}” target=_blank>{str_cut($r[title],27,”)}</A></LI>

{/loop} {/pc}

25.phpcms v9模板制作教程
http://bbs.phpcms.cn/forum.php?mod=viewthread&tid=706186&fromuid=306614

26.自定义表单统计数据
(比如房产团购,有时候为了达到某些效果 需要让团购人数从一个较高的基数开始计算,在统计表单的时候就需要虚构一下)

这个是用来显示关注人数
{pc:get sql=”SELECT * FROM v9_form_tuangou order by dataid DESC” num=”1″ return=”data” }

{php $num = 9968}

{loop $data $n $r}

{php echo $r[dataid]*2+$num}

{/loop} {/pc}

这个是用来显示团购人数 本人无才 没想到其他好办法 就将这个表单的自增字段设置为500,这样团购id就是从500开始了 我就以这dataid作为人数统计
{pc:get sql=”SELECT * FROM v9_form_tuangou order by dataid DESC” num=”1″ return=”data” }

{loop $data $n $r}

{$r[dataid]}

{/loop} {/pc}

27.终极列表页显示同级别栏目(goolee )
http://bbs.phpcms.cn/viewthread.php?tid=287334
之前在论坛里找了不少方法,都无果。发现在列表页{$parentid}为其父级栏目,如果父级还有父级,那么{$parentid}就为其爷级栏目了,所以一个get方法还是不好用。然后自己就看数据库,发现category表中,arrparentid字段为其父级栏目的数组,数组的最后一个就为其真正的父级栏目了。思路来了,先上代码<!–{php $pid = $arrparentid[count($arrparentid)-1]; $data = subcat($module, $pid);}

{loop $data $n $r}–>

<li><a href=”{$r[url]}” id=”menu_{$r[catid]}”><span>{$r[catname]}</span></a></li>

<!–{/loop}–>
先得到父级栏目id,在得到其兄弟栏目,好了一家人就团聚了,和谐,其乐融融。。。
注意:代码加到模板的list_***.html的相应位置就OK了。

28.函数发布:根据IP获取城市中文名 \ 根据IP 获取天气预报
http://bbs.phpcms.cn/viewthread.php?tid=287796

29.sql调用最近三天发布的文章
<?php

$ltime=time()-86400*3;

?>

{pc:get sql=”select * FROM v9_news where inputtime>$ltime order by id desc” num=”13″ page=”$page” return=”data”}

{loop $data $n $r}

<li><a target=”_blank” href=”{$r[url]}” {title_style($r[style])}>{$r[title]}</a></li>

{/loop}

<ul class=”pagelist”>

{$pages}

</ul>

{/pc}

30.str_cut和substr字符截取用法
http://bbs.phpcms.cn/viewthread.php?tid=283585

31
.$CATEGORY[$catid][modelid] 栏目所属模型id

$CATEGORY[$catid][catname] 栏目名称

$CATEGORY[$catid][style] 栏目名称样式

$CATEGORY[$catid][image] 栏目图片

$CATEGORY[$catid][catdir] 栏目路径

$CATEGORY[$catid][url] 目录链接地址

$CATEGORY[$catid][parentid] 栏目的父id

$CATEGORY[$catid][arrparentid] 所有上级栏目ID

$CATEGORY[$catid][parentdir] 父栏目的路径

$CATEGORY[$catid][child] 是否有子栏目

$CATEGORY[$catid][arrchildid] 栏目的所有子栏目id

$CATEGORY[$catid][items] 栏目信息数

$CATEGORY[$catid][ismenu] 栏目是否显示导航

$CATEGORY[$catid][catid] 栏目id

$CATEGORY[$catid][module] 栏目所在的模块

$CATEGORY[$catid][type] 栏目类型

$CATEGORY[$catid][modelid] 栏目所属模型id

$CATEGORY[$catid][catname] 栏目名称

$CATEGORY[$catid][style] 栏目名称样式

$CATEGORY[$catid][image] 栏目图片

$CATEGORY[$catid][catdir] 栏目路径

$CATEGORY[$catid][url] 目录链接

$CATEGORY[$catid][parentid] 栏目的父id

$CATEGORY[$catid][arrparentid] 所有上级栏目ID

$CATEGORY[$catid][parentdir] 父栏目的路径

$CATEGORY[$catid][child] 是否有子栏目

$CATEGORY[$catid][arrchildid] 栏目的所有子栏目id

$CATEGORY[$catid][items] 栏目信息数

$CATEGORY[$catid][ismenu] 栏目是否显示导航
$CATEGORY[$catid][parentid] [/code] 栏目的父id
先取得父ID,再取得父ID的catname,那就是
$CATEGORY[$CATEGORY[$catid][parentid]][catname]

32.当天文章后面显示 new图标

{if time()-$r[updatetime]<24*3600}<img src=”/image/new.gif”>{if time()-$r[updatetime]<24*3600}<img src=”/image/new.gif”>{/if}

如果是三天内的文章: 3*24*3600

33.发布文章不自动提取缩略图
内容 > 内容相关设置 > 模型管理 > 字段管理 > content > 字段提示
找到<input type=’checkbox’ name=’auto_thumb’ value=”1″ checked>是否获取内容第
改成<input type=’checkbox’ name=’auto_thumb’ value=”1″>是否获取内容第

34.v9随机文章列表功能函数
http://bbs.phpcms.cn/viewthread.php?tid=311519

35.调用全站最新文章函数+标签(世界首富)
http://bbs.phpcms.cn/thread-311618-1-1.html

36.【PhpCms V9 函数手册1.0版】 强势推出 包含V9所有函数
http://bbs.phpcms.cn/viewthread.php?tid=314343

37.同时调用多个推荐位的内容(非sql)
25,26,20,21 就是推荐位id{php $where = “catid IN (25,26,20,21) “}

{pc:content action=”position” posid=”2″ order=”listorder DESC” where=”$where” moreinfo=”1″ num=”2″}

{loop $data $r}

<a href=”{$r[url]}” title=”{$r[title]}”>{str_cut($r[title],36,”)}</a><br>

{str_cut($r[description],112)}

<div class=”bk20 hr”><hr /></div>

{/loop}

{/pc}

38.不同栏目不同推荐位的数据同时调用
调用需求:文章范围为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}
其中SELECT * FROM v9_news
和FROM v9_position_data
中的V9是数据库的表头,要根据你自己的数据表头实际情况修改,不然会出错,提示说找不到数据。

39.一行两列实例代码分享
<div class=news_listno><ul>

{pc:content action=”position” posid=”76″ order=”listorder DESC” num=”16″ }

{php $num = 0}

{loop $data $r}

<li>·<a target=”_blank” href='{$r[url]}’ title=”{$r[title]}”{title_style($r[style])}>{str_cut($r[title],26,”)}</a></li>

{if $n!=16}{if $n%2==0} </ul><ul>{/if}{/if}

{php $num++}

{/loop} {/pc}

</ul> </div>
请注意蓝色部分 第一个if 用来去掉最后一个空白无内容的<ul></ul> 第二个if是用来判断一行里面是否已经有两条数据

40.说一下对1970-01-01的理解
首先有两个字段 inputtime 和 updatetime
这两个字段是不一样的第一个是已经格式化好的时间戳 第二个不是
{date(‘Y-m-d H:i:s’,strtotime($inputtime))} 时间格式等同于 {$inputtime}
但是{date(‘Y-m-d H:i:s’,strtotime($inputtime))} 可以自定义啊 年月日时分秒可以很方便地随意调用

41.同时调用指定栏目和指定推荐位
一个比较实用的功能:我们在网站第一屏总需要尽量放上多一点资讯,那如何在同一个地方混入某个栏目数据和某个推荐位的数据,那就需要如此这般了
效果图 2011-10-13 16:21:06 上传下载附件 (27.56 KB)
{pc:get sql=”SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_data WHERE posid =76) or catid in(46,47) order by id DESC” num=”7″ return=”data” }

{loop $data $n $r}

<li><span class=”title_name2″> <a href=”{$CATEGORYS[$r[catid]][url]}”>[{$CATEGORYS[$r[‘catid’]][‘catname’]}]</A></span><span class=”index_time”>{date(‘m/d’,$r[inputtime])}</span><a target=”_blank” href='{$r[url]}’ title=”{$r[title]}”>{str_cut($r[title],39,”)} </a></li>

{/loop} {/pc}

42.在首页调用单网页的数据
做企业网站灰常有用(感谢monitorli兄弟 PM)2011.10.19
{pc:get sql=”SELECT * FROM v9_page where catid=2″ page=”$page”}

{loop $data $r}

{str_cut(strip_tags($r[content]), 345,”)}

{/loop}

{/pc}

43.一个非常有用的功能(http://bbs.phpcms.cn/thread-236777-1-1.html)
在制作非纯资讯站点的时候,我们比较常用到sundawei版主的这个文本组字段功能。比如我们需要一个字段,能显示文字链接,那就需要用到了。
例如 汽车网报价功能 最后的经销商,我们需要一个自定义字段,当经销商有网址的时候,我们就输入网址,用户在浏览的时候就可以点击跳转了,当没有网址的时候,我们就输入#或者不输入,这样就不用跳转。

在sundawei的帖子里面,我使用里面的调用貌似不成功。所以在论坛找了找,用新的方法调用出来了。
代码共享如下:
{pc:content action=”lists” catid=”34″ order=”id DESC” num=”8″ moreinfo=”1″}

<?php $TYPE = getcache(‘type_content’,’commons’);?> //使用类别来存储汽车品牌 因为是本地车商报价

{loop $data $n $r}

<tr>

<td>{$TYPE[$r[typeid]][name]}</td> //调用当前类别 不做判断是否为空了

<td><a class=”blue” target=”_blank” href=”{$r[url]}”>{$r[title]}</a></td> //汽车型号 忘了说 我用文章模型改的

<td>{$r[car_biansuqi]}</td> //汽车变速器字段

<td class=”tac”>{$r[car_price]}</td> //经销商报价字段

<td class=”red”>{$r[car_youhui]}</td> //购车优惠字段

<td>

<?php $urls =string2array($r[car_company]) ;?> //调用文本组

{loop $urls $v} //循环

<a href=”{$v[fileurl]}” target=”right”>{$v[filename]}</a> //本来还有一个filename2的 我用不上 也没填数据 所以就不调用了

{/loop}</td>

<td class=”tac gray6″>{date(‘m-d’,$r[inputtime])}</td> //时间格式成 月-日

</tr>

{/loop}{/pc}

44.多种if else判断

{pc:content action=”lists” catid=”42″ order=”id DESC” num=”5″ }

{loop $data $n $r}

<li>·<a href=”{$r[‘url’]}” title=”{$r[‘title’]}”{title_style($r[style])}>{str_cut($r[title],39,”)}</a> {if time()-$r[updatetime]<24*180*60}<img src=’/image/new.gif’ />{else}<span class=”ind_tim2″>{date(‘m-d’,$r[inputtime])}</span>{/if}</li>

{/loop}

{/pc}

45.二级栏目同级栏目以及子栏目等 各种调用
(测试了一天 才弄好的成果)
环境:共有三级栏目,catid=7是产品分类栏目,一级栏目。
下面的是二级栏目封面页 代码,显示效果:当前栏目+同级栏目+当前栏目的子栏目
<dl class=”item_b”>

<dd class=”item_b_list” style=”padding-left:20px; font-weight:bold;

color:#f2bd57;”><a href=”{$CATEGORYS[$catid][url]}”>{$CATEGORYS[$catid][catname]}</A>

</dd>

{if subcat($catid)}<dt class=”prod_list”>

{loop subcat($catid) $r}

<li> <a href=”{$r[url]}” >{$r[catname]}</a></li>

{/loop}</dt>

{/if}

{pc:content action=”category” catid=”7″ num=”25″ order=”listorder desc”}

{loop $data $r}

{if ($r[catid]==$catid)}

{else}

<dd class=”item_b_list”> <a href=”{$r[url]}”>{$r[catname]}</a> </dd>

{/if}

{/loop}

{/pc} </dl>
下面是三级栏目调用代码,效果等同二级栏目

<dl class=”item_b”>

<dd class=”item_b_list” style=”padding-left:20px; font-weight:bold; color:#f2bd57;”><a href=”{$CATEGORYS[$parentid][url]}”>{$CATEGORYS[$parentid][catname]}</A> </dd>

<dt class=”prod_list”>

{loop subcat($CAT[parentid]) $v}

<li> <a href=”{$v[url]}”>{$v[catname]}</a> </li>

{/loop}

</dt>

{pc:content action=”category” catid=”7″ num=”25″ order=”listorder desc”}

{loop $data $r}

{if ($r[catid]==$parentid)}

{else}

<dd class=”item_b_list”> <a href=”{$r[url]}”>{$r[catname]}</a> </dd>

{/if}

{/loop}

{/pc}

</dl>

您可能还喜欢...

发表回复