phpCMS问题整理

<php?

while($n=1)

{

$n++;

}

?>

[{if $r[tid]==2}求购{elseif$r[tid]==3}二手{elseif $r[tid]==4}促销{else}供应{/if}]

搜索代码

<formtarget="_blank" action="search.php"name="site_search">

<inputtype="hidden" name="typeid" value="0"/>

                            <inputtype="hidden" name="areaid" value="0"/>

                            <inputtype="hidden" name="orderby"value="a.contentid+DESC"/>

                            <inputtype="hidden" name="mod" value="phpcms"/>

                            <inputtype="hidden" name="dosubmit" value="1"/>

                <divclass="search">

                    <p class="input_search">

                        <inputname="title" type="text" id="keyword"class="inp_search" value="输入关键字搜索..."/>

                    </p>

                    <inputname="s" id="button" type="submit"value="  "class="bt_search"/>

                </div>

                            </form>

                            <scripttype="text/javascript">

                                $("#keyword").focus(function () {$(this).val(""); });

                                $("#keyword").blur(function () {var keyword = $(this).val(); if (keyword == "") { $(this).val("输入关键字搜索..."); } });

                            </script>

 

<inputtype="text" value="请输入用户名"οnfοcus="if(value=='请输入用户名') {value=''}" οnblur="if(value=='') {value='请输入用户名'}">

 

循环加1 第一条定义样式

 

{loop $data $n $r}

<li {if $n=0}class="on"{/if}val="{php echo $n+1;}"><img src="{thumb($r[thumb], $width,$height)}" width="{$width}" height="{$height}"alt="{$r[title]}" /></li>

{/loop}

 

内容页调用图组循环

 

{loop $xijiezhanshi $k $r}

                <li><atarget="_blank"href="{$xijiezhanshi[$k][filepath]}"><imgsrc="{thumb($r[filepath], 217, 145)}" alt="{if$xijiezhanshi[$k][description]}{$xijiezhanshi[$k][description]}{/if}"width="217" height="145" />{if$xijiezhanshi[$k][description]}{$xijiezhanshi[$k][description]}{/if}</a></li>

                {/loop}

 

 

 

栏目页调用广告 只用一个模板 PHP判断栏目

<?php

 if($catname=="神经外科"){$num=84;$nums=85;}

 if($catname=="牙科种植"){$num=86;$nums=87;}

 if($catname=="关节置换"){$num=88;$nums=89;}                                                          

 ?>

<script language="javascript"src="data/js.php?id=<?php echo $num;?>"></script>

<script language="javascript"src="data/js.php?id=<?php echo $nums;?>"></script>

 

页面调用,单页内容

 

{get sql="select * from phpcms_blockwhere blockid=26";}

                   {str_cut(strip_tags($r[data]),260,'')}...&nbsp;&nbsp;&nbsp;&nbsp;<ahref="about/about/">更多>></a> {/get}

blockid=26 为碎片ID

 

 

 

<li><ahref=""οnclick="this.style.behavior='url(#default#homepage)';this.setHomePage('{SITE_URL }');">设为首页</a></li>

                    <li><ahref="javascript:window.external.AddFavorite('{SITE_URL}','{$head[title]}')">加入收藏</a></li>

 

 

内容页外调用产品内容

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

 

 

当前导航高亮

{php $data = subcat($module, $catid);}

{loop $data $n $r}

<li><a href="{$r[url]}"id="menu_{$r[catid]}" {if $_GET['catid']==$r[catid]}class="on" {/if}>{$r[catname]}</a></li>

{/loop}

 

当前导航和内容页导航高亮

<?php

function _getGlobleCatid(){

       global$catid;

       return$catid;

}

?>

{php $currId = _getGlobleCatid();}

{php $data = subcat($module, $catid);}

{loop $data $n $r}

{if $r[ismenu]}

<li {if $currId==$r[catid]}class="dianjb" {/if}><a href="{$r[url]}"id="menu_{$r[catid]}">{$r[catname]}</a></li>

{/if}

{/loop}

 

 

树形菜单展开代码

<div class="con_vrbord_01">

                    <ulclass="list_titvr">

                        {get sql="SELECTparentid, url, catname, arrchildid,child FROM `phpcms_category`  WHERE `parentid` = 67 and `ismenu` = 1 ORDERBY listorder ASC" return="c"}

                        <li><i></i> <b><ahref="{$c[url]}">{$c[catname]}</a></b>

                            <div {if$catid==$c['catid'] || in_array($catid, explode(',',$c['arrchildid']))}style="display:block"{/if}>

                                <ulid="TwoMenu">

                                    {getsql="SELECT url, catname, catid FROM `phpcms_category`  WHERE `catid` IN ($c[child] = 0 AND$c[arrchildid]) and `ismenu` = 1 ORDER BY listorder ASC"return="c1"}

                                   <li><ahref="{$c1[url]}">{$c1[catname]}</a></li>

                                    {/get}

                                </ul>

                            </div>

                        </li>

                        {/get}

                    </ul>

                </div>

 

生成静态页的页面导航高亮

<?php

function _getGlobleCatid(){

       global$catid;

       return$catid;

}

?>

{php $currId = _getGlobleCatid();}

{php $data = subcat($module, $catid);}

{loop $data $n $r}

{if $r[ismenu]}

<li {if $currId==$r[catid]}class="act" {/if} catid="{$r[catid]}"><ahref="{$r[url]}"id="menu_{$r[catid]}">{$r[catname]}</a></li>

{/if}

{/loop}

<scripttype="text/javascript">

$(function(){

       varcatidStr = window.location.pathname;

       varcatArr = catidStr.match(/(\w+\/)+(\d+)\.html$/);

       $("li[catid]").each(function(){

              if($(this).attr("catid")== catArr[2]){

                     $(this).addClass("act");

              }

       })

})

</script>

 

[2008]phpcms2008sp4导航栏目当前栏目高亮显示get标签完美解决

1.   

2.  <a href="#" class="nav" id="menu_phpcms">首页</a>

3.  {get sql="SELECT `catid`,`catname`,`url` FROM `phpcms_category` where `ismenu` = '1'" }

4.  <a href="{$r[url]}" class="nav" id="menu_{$r[catid]}">{$r[catname]}</a>

5.  {/get}

复制代码


上面这个是导航get标签代码
如果想让当前栏目高亮显示只需更改class="nav"就行了,比方说当前高亮的样式是class="nav_h"
查找网站根目录下images\js\common.js

找到如下代码

1.  function menu_selected(id)

2.  {

3.  $('#menu_'+id).addClass('selected');

4.  }

复制代码


修改selected为nav_h就行了

 

 

 

[求 助] 导航当前位置那个{catpos($r['catid'])}在哪里编辑

include/global.func.php里面的
function catpos($catid, $urlrule = '')

 

 

修改碎片编辑器

admin/template/block_update_ajax.tpl.php

42

<?=form::editor('data', 'introduce', '100%', '300', 0)?>

introduce  换成别的类型就可以了。

basic  
基本的

introduce  
就是现在用的这种了。

standard  
标准型的

full  
全功能的

default  
默认

{get sql="SELECT * FROM`phpcms_content` WHERE contentid>$contentid AND catid=$catid ORDER BYupdatetime DESC" rows="1"}

                        {php $front=1;}

                        <li>上一篇:<a href="{$r[url]}"titile="{$r[title]}">{str_cut($r[title],80)}</a></li>

                        {/get}

                        {if $front!=1}

                        <li>上一篇:没有了</li>

                        {/if}

                        {get sql="SELECT *FROM `phpcms_content` WHERE contentid<$contentid AND catid=$catid ORDER BYupdatetime DESC" rows="1"}

                        {php $next=1;}

                        <li>下一篇:<a href="{$r[url]}"titile="{$r[title]}">{str_cut($r[title],50)}</a> </li>

                        {/get}

                        {if $next!=1}

                        <li>下一篇:没有了</li>

                        {/if}

 

 

 

 

 

 

 

如何调用当前栏目下有多少条数据呢?
在07中可以在栏目模板页面中中直接使用 {$items} ,08里依然可以的.
如何用在循环里呢?
比如首页有国内新闻|国际新闻|娱乐新闻等等栏目.他们是loop循环出来的,循环代码如下:

1.  <!--{loop $subcats $catid $cat}-->

2.      <div class="cat_index">

3.        <divclass="cat_title"><a href="{$cat[url]}"><img src="images/more.gif" alt="更多" /></a>

4.         <h3>{$cat[catname]}共有{$cat[items]}篇文章</h3>

5.        </div>

6.        <divclass="cat_left">

7.          <ulclass="pic_list">

8.            {tag_首页图片循环标签}

9.          </ul>

10.       </div>

11.       <divclass="cat_right">

12.         <ulclass="text_list">

13.           {tag_网站首页内容标签}

14.         </ul>

15.       </div>

16.     </div>

17. <!--{/loop}-->

复制代码

注意看:共有{$cat[items]}篇文章这一段.对变量稍微修改一下就可以用了.这样就会循环显示了,

 

在栏目内容循环中调用该内容所在栏目的标题{$CATEGORY[$r[catid]][catname]}

 

 

 

看见过浏览记录的解决方案。但如果要实现的话需要修改源文件,并且需要动态页面才可以调用。且没有详细的操作步骤。

相信会有不少人需要,在参考了PC黄页的产品的浏览记录后

 

解决如下:

1、不需要改动原来文件。新增一个文件及一个模板文件。

2、静态页面AJAX调用。

 

演示:www.i0580.cn

 

步骤:

1、根目录下新增文件readid.php

 

 

<?php

 

header("Cache-Control:no-cache, must-revalidate");

 

requiredirname(__FILE__).'/include/common.inc.php';

 

$contentid =isset($contentid) ? intval($contentid) : 0;

 

$readid =get_cookie('readid');

 

if(intval($readid))$readwhere= $readid;

 

switch($action)

 

{

 

case 'read':

 

  if($contentid){

 

   if(intval($readid))

 

    {

 

     $readid = $contentid.','.$readid;

 

     $tmp = explode(",",$readid);

 

     $tmp = array_unique($tmp);

 

     while(count($tmp) > 10)array_pop($tmp);

 

     $readid = implode(",",$tmp);

 

    }

 

    else $readid = $contentid;

 

    set_cookie('readid',$readid,time()+3600*365*24);

 

  }

 

break;

 

 

 

case 'list':

 

  include template($mod, 'read_fang');

 

break;

 

}

 

?>

 

2、新增模板文件read_fang.html

 

 

<ul>

 

{if $readwhere}

 

{getsql="SELECT * FROM `phpcms_content` WHERE contentid IN ($readwhere) ANDstatus = '99' ORDER BY FIND_IN_SET(contentid,'$readwhere')"rows="10"}

 

<li><ahref="{$r[url]}"title="{$r['title']}">{$r['title']}</a></li>

 

{/get}

 

{else}

 

<li>您还没有浏览过任何房源</li>

 

{/if}

 

</ul>

 

 

3、静态页面调用:

(1)、需要调用的内容页面模板文件,如show.html,加上:

 

 

<scriptlanguage="JavaScript"src="readid.php?contentid={$contentid}&action=read"></script>

 

 

 

(2)、浏览页调用:

 

 

先添加JS代码:

 

 

<scripttype="text/javascript">

 

$(document).ready(function(){

 

$('#readhouse').load("readid.php?action=list");

 

});

 

</script>

 

在需要浏览记录显示的地方,添加:

 

 

<div id="readhouse"><imgsrc="images/loading.gif" align="absmiddle"> 数据加载中</div>

 

 

调用三级栏目循环 加内容

{getsql="SELECT parentid, url, catname, arrchildid,child FROM`phpcms_category`  WHERE `parentid` = 87" return="c"}

            <table width="100%"border="0" cellpadding="0" cellspacing="0"class="tab_cp">

                <tr>

                    <td width="65"align="center" valign="middle"class="shouzimu">{$c[catname]}</td>

                    <td><tablecellpadding="0" cellspacing="0">

                            {getsql="SELECT url, catname, catid FROM `phpcms_category`  WHERE `catid` IN ($c[child] = 0 AND$c[arrchildid])" return="c1"}

                            <tr>

                                <tdwidth="115" align="center" valign="middle"class="name">{$c1[catname]}</td>

                                <tdwidth="210" align="center"valign="middle"><img src="images/38.jpg"width="135" height="135" /></td>

                               <td><ul>

                                        {getsql="SELECT contentid,catid,typeid,areaid,title,style,thumb,keywords,description,userid,updatetime,inputtime,urlFROM `phpcms_content` WHERE catid='$c1[catid]'   ORDER BYcontentid DESC" rows="12"}

                                       <li><a href="{$r[url]}" target="_blank">{$r[title]}</a></li>

                                        {/get}

                                   </ul></td>

                            </tr>

                            {/get}

                       </table></td>

                </tr>

            </table>

            {/get}

 

 

在首页调用 栏目循环 加栏目链接加栏目图片

 

{getsql="SELECT * FROM `phpcms_category` WHERE `parentid` = 37 and `hits` = 0" return="c"}

                        <li><ahref="category/{$c[catid]}.html"><imgsrc="{$c[image]}" width="74" height="62"/></a></li>

                        {/get}

 

循环指定栏目下的栏目,并且按字母排序。剔除相同字母的栏目循环(DISTINCT zimu调用唯一)

 

{getsql="SELECT DISTINCT zimu FROM `phpcms_category`  WHERE `parentid` = '$catid' and `ismenu` = 1and `items` = 0 order by zimu  asc"return="c1"}

                        <a id="{$c1[zimu]}"name="{$c1[zimu]}"></a>

                        <pclass="tit_eng">以<span>{$c1[zimu]}</span>为首字母的城市</p>

                        <ulclass="lb_city">

                            {getsql="SELECT * FROM `phpcms_category` WHERE `parentid` = '$catid' and `ismenu` = 1 and `items` = 0 and `zimu`= '$c1[zimu]'" return="c"}

                            <li><ahref="{$c[url]}" title="{$c[catname]}"><imgsrc="{$c[image]}" width="188" height="139"alt="{$c[catname]}" /></a>

                                <p><ahref="{$c[url]}" title="{$c[catname]}">{$c[catname]}</a></p>

                            </li>

                            {/get}

                        </ul>

                        {/get}

 

在内容页中调用上传的文章  借鉴手术网站 手术计划内容页。

 

 

<?php

 

$showlist =$db->get_one("SELECT * FROM `".DB_PRE."c_down` WHERE`contentid`=$contentid  order bycontentid asc limit 0,1");

 

 

//$abcss=flashupload("contentid",$showlist[downurls]);

 

$downurls=(explode("\n",$showlist[downurls]));

 

for($i=0;$i<=count($downurls)-1;$i++){

  

  $down_array=explode("|",$downurls[$i]);

   $arra[name] =$down_array[0];

   $arra[urls] =$down_array[1];

   $arr[] =$arra;

}

 

 

$sad121=(explode("\n",$showlist[sad121]));

//print_r($downurls);

 

for($i=0;$i<=count($sad121)-1;$i++){

  

  $sad_array=explode("|",$sad121[$i]);

   $arras[name] =$sad_array[0];

   $arras[urls] =$sad_array[1];

   $yarr[] =$arras;

}

 

?>

 

<?phpfor($i=0;$i<=count($arr)-1;$i++){?>

                    <li><ahref="{$arr[$i][urls]}"><img src="images/pdf.jpg"align="absmiddle"/>&nbsp;&nbsp;{$arr[$i][name]}</a></li>

                    <?php }?>

 

 

 

 

phpcms栏目图片增加上传按钮。

修改方法:admin/templates/category_add.tpl.php
找到栏目图片 ,然后在他下面加上以下代码:

<input type="button" value="
上传 " onClick="javascript:openwinx('?mod=phpcms&file=upload&uploadtext=image&width=100&height=100','image','350','200')">
这个是添加栏目的时候,修改栏目的时候栏目图片的上传要修改文件admin/templates/category_edit.tpl.php 同样位置加入以上代码即可.

 

UL CLASS样式下的LI循环给单独样式

 

<scripttype="text/javascript">

$(function(){

      var menu=$(".con_city li"),len=$(".con_cityli").length;

      for( var i=0;i<len;i++){

           if(i%4 == 0){

                 menu.eq(i-1).addClass("city_no");

           }        

      }

})

</script>

 

 

 

 

 

LI循环到第几个给个单独的样式

 

<scripttype="text/javascript">

(function(){

var meaus =document.getElementById("qige3").getElementsByTagName("li");

for(var i = 1;i<=meaus.length; i++){

if(i%7 === 0){

meaus[i-1].className= "last";

}

}

})()

</script>

给DIV个id让该DIV下面的DIV循环,循环到第几个时候给他个样式

 

<scripttype="text/javascript">

$("#sige >div.modleBox_1").each(function(i){

    if((i+1)%4 === 0){

        $(this).addClass("last");

    }

})

</script>

 

给LI下的DIV循环样式

<scripttype="text/javascript">

(function(){

var meaus =document.getElementById("sige").getElementsByTagName("div");

meaus =getElmClass("goods_02");

for(var i = 1;i<=meaus.length; i++){

    if(i%4 === 0){

        meaus[i-1].className ="goods_020";

    }

}

functiongetElmClass(className){

    var arr = [];

    for(var i = 0; i<=meaus.length-1; i++){

        if(meaus[i].className == className){

            arr.push(meaus[i]);

        }

    }

    return arr;

}

})()

</script>

 

 

 

给INPUT加<input type="button" value="在线订购" οnclick="location.href='list.php?catid=72'"class="online_ord"/>

 

 

 

调用栏目图片

 

 

{if $image}<!-- 判断是否有栏目图片 有就显示栏目图片,图片大小可自己定义,也可以删除塞斯高,那就显示图片原来的尺寸-->

<imgsrc="{$image}" alt="{$catname}" width="100"height="100" /> <!--这里就是栏目图片-->

{else} 

<!--如果没有栏目图片则显示网站logo,,当然你可以设置为显示其它的图片,比如说,有些人希望每个栏目设置不同的banner图片,也可以用这个方法-->

<imgsrc="images/logo.gif" alt="{$PHPCMS[sitename]}"width="100" height="100" />

{/if}

 

 

去掉链接四周的虚线

在<a>标签中加入onFocus="this.blur()"语句即可

<a href="http://mxes.yeah.net"onFocus="this.blur()">名雪阁</a>

 

 

 

 

内容页多图字段 分开调用  pigpic 是多图字段名称

 

{loop $pictureurls $k $r}

                       <li><img style="cursor: pointer;"src="{$r[filepath]}" width="125" height="78" {if$k==$page}class="s"{/if}/></li>

                        {/loop}

 

                        {loop$pigpic $k $r}

                       <li><img style="cursor: pointer;"src="{$r[filepath]}" width="125" height="78" {if$k==$page}class="s"{/if}/></li>

                        {/loop}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

判断当前栏目是不是 大栏目下的栏目 如果是的话 单独给个样式 给大栏目按钮个效果

下拉类效果(参考博博网站 栏目左侧样式)

 

 

{getsql="SELECT catid, url, catname, arrchildid,child, parentid FROM`phpcms_category`  WHERE `parentid` = 33and ismenu = 1 " return="c"}

                                    {php$_arrchildid = explode(',',$c[arrchildid])}

                                    <liclass="title"> <a class="titleA"href="javascript:;">{$c[catname]}</a>

                                        <olclass="sub_mu" {if in_array($catid, $_arrchildid)}style="display:block;"{/if}>

                                           {get sql="SELECT url, catname, catid FROM `phpcms_category`  WHERE `catid` IN ($c[child] = 0 AND$c[arrchildid]) and ismenu = 1" return="c1"}

                                           <li><a href="{$c1[url]}" {if $catid==$c1[catid]}  style="color:#fe9b00;"{/if}>{$c1[catname]}</a></li>

                                           {/get}

                                       </ol>

                                    </li>

                                    {/get}

 

 

 

调用最新文章,带所在版块{pc:getsql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url ascurl,a.id FROM `v9_news` a, `v9_category` b WHERE a.catid = b.catid ORDER BY`a`.`id` DESC "num="15" cache="300"}

  {loop $data$r}

  <h6><fontclass="cate"><ahref="{$r[curl]}">[{$r[catname]}]</a></font><aclass="gray"href="{$r[turl]}" title="{$r[title]}">{str_cut($r['title'],26)}</a></h6>

  {/loop}

  {/pc}

  ====<fontclass="cate"><ahref="{$r[curl]}">[{$r[catname]}]</a></font>所在版块的调用1.截取调用标题长度{str_cut($v[title],36,'')}

  {str_cut($v['title'],34)}超出用 ... 代替{str_cut($v['title'],34,'???')}超出用 ???代替{str_cut($v['title'],34,'')}超出不用任何字符代替2.格式化时间调用格式化时间 2011-05-0611:22:33{date('Y-m-d H:i:s',$r[inputtime])}

  <spanclass="rt">{date('m-d',$v['inputtime'])}</span>

 

  3.多栏目调用&多推荐位调用调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;从第三条开始,连续调用7篇文章。

  {pc:getsql="SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_dataWHERE posidin(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}

  显示栏目名称和链接(可以点击)<ahref="{$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}

  <ahref="/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="listorderASC"}

  {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}<ahref="{$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:contentaction="position" posid="31" order="listorderDESC" limit='1,8--'}

  {loop $data$r}

  <li><ahref="{$r[url]}" title="{$r[title]}"target=_blank>{str_cut($r[title],36,'')}

  </a></li>

  {/loop}

  {/pc}

 

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

  {pc:contentaction="position" posid="27" order="listorderDESC" 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}

  <ahref="{$r[url]}">{$r[title]}</a>

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

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

  {loop$keywords $keyword}

  <ahref="{APP_PATH}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)}"class="blue">{$keyword}</a>

  {/loop}

  {/loop}

  {/pc}

 

  14.每当列表几行的时候出现一次某些符号(比如首页里面的文章推荐,一行显示两条,在这两条中间想加一条竖线 | 就用到这个代码了)数量大的话就容易出错,因为模运算嘛~~呵呵 不过一般也就4个标题以下{pc:contentaction="position" posid="8" order="listorderDESC" num="2"}

  {loop $data$r}

  <astyle="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" catid="$catid" num="25"order="id DESC" page="$page"moreinfo="1"}

  {loop $data$r}

  <ahref="{$r[url]}">[{$r['字段名']}]>{$r[title]}</a>

  {/loop}

  <divclass="pagebar">{$pages}</div>

  {/pc}

 

  16.当前栏目调用父级及以下栏目信息方法其他代码该咋地还是要咋地 。这是要素{php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}

  {pc:getsql="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 首页或分页自定义字段调用和15差不多第一普通列表或栏目调用自定义字段在{pc:contentaction="lists" 后加上副表moreinfo=1 (等于1时显示,0时不显示)例子:

  {pc:contentaction="lists" moreinfo=1 catid="2" order="idDESC" num="4"}

  <ul>

  {loop $data$key $val}

  <li><ahref="{$val['url']}">{$val['title']}</a>

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

  {/loop}

  </ul>

  {/pc}

 

  第二种推荐位调用自定义字段在模型里加好自定义字段后,必须把“在推荐位标签中调用”点击“是“然后用同一样的方法去调节数据就OK了,记住,如果你加了文章,必须去更新文章才会显示,自定义段在推荐中只显示你选择后,选择前加的加文章不显示,更新一下文章就显示了例子:

  {pc:contentaction="position" posid="推荐位id"num="30" thumb="1"moreinfo="1"order="listorder DESC"}

  {loop $data$key $val}

  <LI><ahref="{$val['url']}" target="_blank"><imgsrc="{$val['自定义段']}"alt="{$val['title']}" height=36 width=98 /></a>

  <ahref="{$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.php13行改成<td><?phpif(isset($_GET['dosubmit'])){?><divclass="rt"><ahref="javascript:void(0)" οnclick="$('#search').toggle()"><?phpechoL('folded_up_in_search_of')?></a></div><?php }

  echoform::select_category('', $catid, 'name="catid"id="catid"', '','', '0', 1)?> </td>

 

  22、PHPCMS V9的get标签调用1、调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):

  {get sql="select* from phpcms_content where contentid=1" /}

  标题:{str_cut($r[title],50)} URL:{$r[url]} 更新日期:{date('Y-m-d',$r[updatetime])}

  2、调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):

  {getsql="select * from phpcms_content where catid=1 and status=99 order byupdatetime desc"rows="10"}

  标题:{str_cut($r[title],50)} URL:{$r[url]} 更新日期:{date('Y-m-d',$r[updatetime])}

  {/get}

 

  3、带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):

  {getsql="select * from phpcms_content where catid=1 and status=99 order byupdatetime desc"rows="10" page="$page"}

  标题:{str_cut($r[title],50)} URL:{$r[url]} 更新日期:{date('Y-m-d',$r[updatetime])}

  {/get}

  分页:{$pages}

 

  4、自定义返回变量,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,返回变量为 $v):

  {getsql="select * from phpcms_content where catid=1 and status=99 order byupdatetime desc"rows="10" return="v"}

  标题:{str_cut($v[title],50)} URL:{$v[url]} 更新日期:{date('Y-m-d',$v[updatetime])}

  {/get}

 

  5、调用同一帐号下的其他数据库,示例(调用数据库为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):

  {getdbname="bbs" sql="select * from cdb_threads where fid=1 order bydateline desc"rows="10"}

  主题:{str_cut($r[subject],50)} URL:/viewthread.php?tid={$r[tid]}

  更新日期:{date('Y-m-d',$r[dateline])}

  {/get}

 

  6、调用外部数据,示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):

  {getdbsource="bbs" sql="select * from cdb_threads where fid=1 orderby dateline desc"rows="10"}

  主题:{str_cut($r[subject],50)} URL:/viewthread.php?tid={$r[tid]}

  更新日期:{date('Y-m-d',$r[dateline])}

  {/get}

  不知道有没有朋友在使用中遇到这几种方法不能满足需求的时候呢?

  例如:取出评论数最多的第3条到第10条记录,有人说我是多此一举,一般取最多评论没理由不取第一和第二条,因为PHPCMS的缩略图对4:3这样的尺寸比较好,对长条形(如3:4)的图片缩略效果不好,为了自己手动更新评论最多的第一和第二条记录,故此不想自动更新读取前两条。

  <ul>

  <!--{getsql="selectA.contentid,A.catid,A.title,A.thumb,A.description,A.url,A.status,A.updatetime,B.contentid,B.

  hits,B.commentsfrom `phpcms_content` as A INNER JOIN `phpcms_content_count` as BONA.contentid=B.contentid and A.status=99 and LENGTH(A.thumb)>0 order byB.comments desc LIMIT3,7"}-->

  <li><spanclass="xxnse_fen2">{$r[comments]}人参与评论</span>·<a href="{$r[url]}"title="{$r[title]}">{str_cut($r[title],28)}</a></li>

  <!--{/get}-->

  </ul>

  关键点就在 order byB.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 =2AND ifupload =1ORDER 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翻页效果。

 

来源:仿站,南京网站建设[来源地址]:http://www.upxinyuan.com/bangzhu/94_1.html

 

 

 

 

 

 

按点击量排序

{getsql="SELECTd.contentid,c.contentid,d.hits,c.catid,c.title,c.thumb,c.url,c.description,c.inputtimefrom phpcms_content_count d left join phpcms_content c ond.contentid=c.contentid where c.status=99 and c.catid = 5 order by d.hitsdesc" rows="7"}

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

                                    {/get}

 

 

 

调用模型字段修改global.func.php

functionget_setting_fields($fieldname,  $modelid= 11, $tablename = 'phpcms_model_field'){

    $arr = setting_get($tablename,"modelid=$modelid and field='{$fieldname}'");

    $arr = explode("\n",$arr['options']);

    $r_arr = array();

    foreach($arr as $str){

        list($val, $key) =explode("|", $str);

        $r_arr[trim($key)] = trim($val);

    }

    return $r_arr;

}

 

functionecho_setting_fields($fieldname, $echotype = 'a',  $modelid = 11, $tablename ='phpcms_model_field'){

    $arr = get_setting_fields($fieldname,$modelid, $tablename);

    foreach($arr as $key=>$val){

        if($echotype === 'a'){

            echo "<ahref='{$key}'>$val</a>";

        }elseif($echotype === 'option'){

            echo "<optionvalue='{$key}'>$val</option>";

        }

    }

}

前台调用{php echo_setting_fields('chengshi');}

控制器执行sql语句;

$get_db = pc_base::load_model("get_model");//不设置要查询的数据表,只执行查询操作  

$sql="select* from `v9_category1` where keyid = 3360 and parentid=".$_GET['erji']." limit 0,1";

                $db =pc_base::load_model("get_model");;

                $query = $db->query($sql);

                $data =$db->fetch_array($query);

Cookie判断用户登录

//登陆判断

$phpcms_auth =param::get_cookie('auth');

if(!$phpcms_auth){showmessage(L('please_login','', 'member'),'index.php?m=member&c=index&a=login&forward='.$forward);

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值