首页 > CMS > PhpCMS > 正文

PHPCMS二次开发自定义标签教程

2024-09-10 07:16:21
字体:
来源:转载
供稿:网友

PHPCMS提供了很多自带的标签,很方便在模板中调用,但是也有很多功能是没有的,需要自定义标签,本教程讲解为何要采用标签的形式,以及如何自定义PHPCMS标签和自定义标签参数,如何调用自定义标签.

PHPCMS自定义标签的好处:

1.采用标签的形式,可以自由用于模板中,方便调用,而且方便重复调用。

2.在模板中使用PHPCMS标签,生成静态页的时候,不用额外在action控制器中赋值,因为直接在模板中解析PC标签了.

如何自定义PHPCMS标签

根据PHPCMS自带的一些标签,我们可以很简单的模仿并创造出新的功能,做成标签的形式,比如内容模型,内容模型的PHPCMS标签

在/modules/content/classes/content_tag.class.php。打开这个文件,新增的内容模型的标签可以放在这里,在这个文件进行新加标签,代码如下:

  1. /** 
  2.  * 根据标签显示相关资讯 
  3.  * @param array $data 标签配置数组 
  4.  */ 
  5. public function tags_article($data) { 
  6.  $tags = $data['tags']; 
  7.  $tags = explode('|'$tags); 
  8.  $tags = array_unique($tags); 
  9.  $tags = array_filter($tags); 
  10.  $tags_content_db = pc_base::load_model('tags_content_model'); 
  11.  $modelid = $data['modelid'] ? $data['modelid'] : 19; 
  12.  foreach ($tags as $key => $r) { //开源软件:Vevb.com 
  13.   $re = $tags_content_db->select(array('tagid'=>$r,'modelid'=>$modelid),'*'$data['limit'], 'contentid desc'); 
  14.   foreach ($re as $id => $content) { 
  15.    $result[] = $content
  16.   } 
  17.  } 
  18.  return $result

PHPCMS自定义标签调用方法,代码如下:

  1. {pc:content action="tags_article" tags="$tags" num="6"
  2. {loop $data $r
  3.  <li><span class="fl-rt">{date('m-d',$r['inputtime'])}</span><a href="{$r['url']}" target="_blank" class="link666">{$r['title']}</a></li> 
  4. {/loop} 
  5. {/pc} 
  6. {pc:content action=”tags_article” tags=”$tags” num=”6″} 

content表示内容模型,这个标签是定义在内容模型的标签类中的,catid是标签参数,在自定义标签中也可以自定义标签参数。通过$data[‘xx’]读取值,如本例的$data[‘tags’]是自定义的标签参数。注意public function tags_article($data)不要掉了参数$data.

这仅仅是举个例子,本例的功能就是根据tagid查找其他相关的内容,每个内容都有tagid对应的标签.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表