`
hudeyong926
  • 浏览: 2017102 次
  • 来自: 武汉
社区版块
存档分类
最新评论

PC标签 phpcmsv9

 
阅读更多
{pc:content action="lists" catid="25" num="$pagesize" page="$page" return="data"}
<ul>
{loop $data $n $r}
<li><a href="{$r[url]}">{$r[title]}</a></li>
{/loop}
</ul>
{/pc}

pc标签起作用需要在数据库module表中注册,pc:content PC 标签中{pc:}冒号之后跟随的为模块名,表示class content_tag, 前台模板文件产生的phpcms\templates\default,静态页的调试.tag标签编译后的效果,也是后台调用的方法

<?php
$content_tag = pc_base::load_app_class("content_tag", "content");
if (method_exists($content_tag, 'lists')) {
$pagesize = 4;$page = intval($page) ? intval($page) : 1;
if($page<=0){$page=1;}$offset = ($page - 1) * $pagesize;
$content_total = $content_tag->count(array('catid'=>$catid,'order'=>'id DESC','limit'=>$offset.",".$pagesize,'action'=>'lists',));
$pages = pages($content_total, $page, $pagesize, $urlrule);
$data = $content_tag->lists(array('catid'=>$catid,'order'=>'id DESC','limit'=>$offset.",".$pagesize,'action'=>'lists',));
}
?>

标签中的参数变量是前提控制类提供,参数的调用,写page参数是会调用count($data)

{pc:comment action="get_comment" commentid="$commentid"}
{php $comment = $data;}
{/pc}

该标签解析类是在每个模块下面的classes/的以“模块名_tag.class.php”的文件

为什么用模板标签?需要一些参数来控制页面的显示效果,参数自己可以手动加,如num,cache,page,用sql标签表前缀用phpcms_系统智能替换数据库前缀
{pc:get sql="SELECT * FROM phpcms_wechenews  ORDER BY id desc" num="7" start="23"}
{loop $data $r}
<li>[{getMore($r[catid])}]<a href="{$r[url]}" class="title" title="{$r[title]}">{str_cut($r[title],32,'')}</a></li>
{/loop}
 num调用条数   start起始输出的位置

v9的标签函数像2008那样支持limit="0,5"这样的写法

{pc:content  action="limit"  type="lists"  catid="54"  thumb=""  order="listorder DESC"  step="3,5"}
{loop $data $r}
<li>&middot;<a href="{$r[url]}" title="{$r[title]}">{$r[title]}</a></li>
{/loop}{/pc}

type:定义 的是类别:可选lists或者position(目前支持普通列表和推荐位)
catid:选择 了lists的类别才需要填写这个值
position:选择了position的类别才需要填写这个值
thumb:不分类 别都可以
order:排序方式
step:传说中的limit
试验结果可行

将内容模型标签的class类文件 找出:文件地址 phpcms\modules\content\classes\content_tag .class.php
添加标签函数:

/**
 * limit页标签
 * @param $data
 */
public function limit($data){
	$data['limit']=$data['step'];
	return $this->$data['type']($data);
}

phpcmsv9调用当前栏目的同级栏目

{pc:content action="category" catid="$parentid" num="25" siteid="$siteid" order="listorder ASC"}
<ul>
    {loop $data $r}
    <li {if $catid==$r[catid]}class="cur_link"{/if}><a href="{$r[url]}">{$r[catname]}</a></li>
    {/loop}
</ul>
{/pc}

phpcms的模板缓存

phpcms的模板文件一般放在根目录下/phpcms/templates/模块名称/xxx.html,当修改文件后,系统生成模板缓存放在/caches/caches_template/default/模块名称/xxx.php,删除缓存目录可以看最新效果

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics