phpcms 初学记录

来源:互联网 发布:gsp认证软件 编辑:程序博客网 时间:2024/06/05 04:28

PhpCms 目录

 

官网学习地址:     http://www.veryhuo.com/a/manual/phpcms/

 

PhpStrom   使用:   http://blog.163.com/kefan_1987/blog/static/89780131201262610544842/

 

 


 

 

 

PhpCms 标签

PC标签包含两个类别,分别为:

工具类

模块类

一般pc标签中的数据都是数组方式返回的,可以通过 $data 获取数组

{loop $data $key $val}

 <a href="{$val[url]}">{$val[title]}</a><br>

 {/loop}

 

栏目页获取其父元素的所有子栏目  

{loop subcat($parentid) $r}

   <li><a href="{$r[url]}" class="{$r[catdir]}"></a></li>

  {/loop}

 


 

 

 

 

 

PhpCms JSON工具箱

可以调用外部的json资源显示在网页(或者是XML资源,此时标签为{pcxml})

 

 

GET标签

后台上传文件

后台上传文件出现undefind

\phpcms\modules\attachment\attachment.php

if(empty($this->userid))改为 if(empty($_POST['userid']))

 

 

模块操作说明文档

http://v9.help.phpcms.cn/html/2010/modules_0916/33.html

1. 内容模块:lists    内容数据列表

Relation     内容相关文章

Hits  内容数据点击排行榜

Category 内容栏目列表

Position   内容推荐列表

*{template "content","header"}

调用根目录下phpcms\template\content\header文件

*{catpos($catid)}                      显示文章位置导航
{$CATEGORYS[$catid][url]}              显示当前栏目链接
{$CATEGORYS[$catid][catname]}          显示当前栏目名称

* {if  条件} 内容 {/if}

*v9内置了几个心情样式,图片存在 statics/images/mood/下 ,在后台找到新闻心情 模块  点击 心情配置 发现 v9自带的心情样式。

添加代码:{if module_exists('mood')}<script type="text/javascript" src="{APP_PATH}index.php?m=mood&c=index&a=init&id={id_encode($catid,$id,$siteid)}"></script>{/if}

 



DIRECTORY_SEPARATOR是php的内部常量,用于显示系统分隔符的命令,不需要任何定义与包含即可直接使用。

      在windows下路径分隔符是(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/,这就导致了一个问题,比如开发机器是windows,有一个图片上传程序,调试机器上指定的上传文件保存目录是:

define(ROOT, dirname(__FILE__)."/upload");

在本地调试都很正常,但是上传到linux服务器的时候会发现会出错。于是php引入了DIRECTORY_SEPARATOR变量,可以将上面的写法改写为:

define(ROOT, dirname(__FILE__).DIRECTORY_SEPARATOR."upload");

      DIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回,而在linux或者类unix上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录的时候会用到。

 

* phpcms  

Apache  虚拟站点     多个域名访问同一个目录

<VirtualHost *>

ServerName localhost

DocumentRoot E:/xampp/htdocs

</VirtualHost>

<VirtualHost *>

ServerName www.xrzgames.com

ServerAlias www.xrzgames.com *.xrzgames.com yueshen.xrzgame.com cms.xrzgame.com

DocumentRoot E:/xampp/htdocs/xrzgame

</VirtualHost>

 

 

 

 

 

模版渗透:

 

 

{if !isset($CATEGORYS)}

{php $CATEGORYS = getcache('category_content_'.$siteid,'commons');}

{/if}

读取缓存

 

 

PhpCms当前栏目调用父级及以下栏目信息方法

父栏目下所有子栏目:标签{php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}

$CATEGORYS[$CAT[parentid]][arrchildid] 即父级下所有子栏目,在08就用很多了试了下v9 可以,看论坛很多朋友问,把自己刚发现的共享出来希望朋友们能用上!

在当前栏目调用父级及以下栏目信息方法,两个要一起的

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

{/loop}

$CATEGORYS[$xrz_news_catid]["url"]   //[栏目名][参数]

 

 

PC 数据库关系:

模型(model)   ——》 栏目(category)  --》 内容(对应content表,如news表)

 

先看栏目是属于哪个模型,然后到模型的字段管理找对应的内容和关系。

 

$j=0    echo (($j++) % 4) + 1    循环输出{1234

 

 

 

------------------------------------$CATEGORYS---------------------------------------------

 

 

 

 

 

 

 

*外部数据源调用的俩种方法

 

 

 

 

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}

幻灯片(方法二)

<div class="FocusPic"> {pc:content  action="position" posid="18"  order="listorder DESC" thumb="1" num="5"}

          <div class="content" id="main-slide">

            <div class="changeDiv"> {loop $data $r}<a href="{$r['url']}" title="{str_cut($r['title'],36)}"><img src="{thumb($r['thumb'],390,250)}" alt="{$r['title']}" width="390" height="250" /></a> {/loop} </div>

          </div>

           {/pc} 

        </div>

 

 

PC 延迟加载。

注意各个站点的jquery库不要重复加载(多调试、搞懂加载的东西什么功能)

1、在输入数据的时候做操作  加一个data-original 属性保存图片的地址  加一个class=lazyload。 此时src=“” 图片不显示

2、需要加载这个功能的jquery插件   才能在视窗滚动到相应位置,输出的时候修改

 

 

<script type="text/javascript" src="{JS_PATH}../xrz_2/common/js/jquery.lazyload.min.js"></script>

 

<script type="text/javascript">

 

    $(document).ready(function (){

 

        $('.lazyload').lazyload();

    });

 

</script>

 

 

{str_cut(strip_tags($val[content]),860,"")}截取和去html标签的函数

 

广告模块输出,js输出


 

 

<!--{pc:content action="category" catid="0" num="6" 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} -->

 

 

http://b.qq.com/wp/ 这个是企业的 

 

 

 

 

[phpcms v9] {thumb($previous_page[thumb], 100, 137, 0)}  

缩略图裁切

Parameters:
string   $imgurl:  图片地址  
int   $width:  图片宽度,可选参数,默认为100  
int   $height:  图片高度,可选参数,默认为100  
int   $autocut:  是否自动裁切,可选参数,默认为1,为0时,将只等比压缩,可能出现图片变形  
string   $smallpic:  无图片时显示的小图片地址,可选参数,默认为 images/nopic_small.gif  

第三个参数是 是否自动裁切
所以:
{thumb($r[thumb], 160, 100,0)}
即可。

 

 

 

 

 

{pc:content  action="position" posid="$POSCACHES['lunbo']"  order="listorder DESC" thumb="5" num="5"}

                 {loop $data $r}

                 <li><a href="{$r['url']}" title="{str_cut($r['title'],36)}"><img src="{$r['thumb']}" alt="{$r['title']}"  width="790" height="360" /></a></li>

                 {/loop}

              {/pc}

 

 

 

{$CATEGORYS[$v[catid]]['catname']}           获取当前文章的   栏目名称


{loop subcat($parentid) $r}

 <li><a href="{$r[url]}" class="{$r[catdir]}"></a></li>

{/loop}

获取一级栏目下的所有子栏目

{if $top_parentid}

{pc:content action="category" catid="$top_parentid" siteid="$siteid" order="listorder ASC"}

{loop $data $r}

<li><a href="{$r[url]}" class="{$r[catdir]}" id=""></a></li>

{/loop}

{/pc}

 {/if}


 

 

 

 


0 0