phpcms二次开发教程_PHPCMS二次开 自定义标签教程

更新时间:2019-08-18    来源:Action    手机版     字体:

【www.bbyears.com--Action】

PHPCMS自定义标签的好处

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

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

如何自定义PHPCMS标签

根据PHPCMS自带的一些标签,我们可以很简单的模仿并创造出新的功能,做成标签的形式。比如内容模型,内容模型的PHPCMS标签在/modules/content/classes/content_tag.class.php。打开这个文件,新增的内容模型的标签可以放在这里,在这个文件进行新加标签。

 代码如下 /**
 * 根据标签显示相关资讯
 * @param array $data 标签配置数组
 */
public function tags_article($data) {
 $tags = $data["tags"];
 $tags = explode("|", $tags);
 $tags = array_unique($tags);
 $tags = array_filter($tags);
 $tags_content_db = pc_base::load_model("tags_content_model");
 $modelid = $data["modelid"] ? $data["modelid"] : 19;
 foreach ($tags as $key => $r) {
  $re = $tags_content_db->select(array("tagid"=>$r,"modelid"=>$modelid),"*", $data["limit"], "contentid desc");
  foreach ($re as $id => $content) {
   $result[] = $content;
  }
 }
 return $result;
}

PHPCMS自定义标签调用方法

 代码如下

{pc:content action="tags_article" tags="$tags" num="6"}
{loop $data $r}
 {date("m-d",$r["inputtime"])}{$r["title"]}
{/loop}
{/pc}
{pc:content action=”tags_article” tags=”$tags” num=”6″}

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

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

本文来源:http://www.bbyears.com/flash/62756.html

热门标签

更多>>

本类排行