首页 > 编程知识 正文

wordpress 自定义字段,thinkphp博客源码

时间:2023-05-03 06:50:37 阅读:138039 作者:3400

文章的内容来自官方手册,需要看细节。 可以访问源网站。

将标记库加载到模板中,预加载自定义标记库,然后扩展内置标记库的加载

例如,将标记库放置在common中。

namespace appcommontaglib;

use thinktemplateTagLib;

class Demo extends TagLib{

//*

*标签列表定义

*/

保护$ tags=[

//标签定义: attr属性列表close是否关闭(0或1默认值1 ) alias标签别名level嵌套层次结构

' close'=['attr'='time,format ',' close'=0],//关闭标签,默认情况下不关闭

' open'=['attr'='name,type ',' close'=1],

];

//*

*这是一个封闭标签的简单演示

*/

公共功能标签类别($ tag ) )。

{

$format=empty($tag['format'] )? ' y-m-DH : I : s ' : $ tag [ ' format ' ];

$time=empty($tag['time'] ' )? time(:$tag('time );

$parse=? php ';

$parse .='echo date('' . $format.','.$time.' ); ';

$parse .='?

返回$ parse;

}

//*

*这是一个未闭合标签的简单演示

*/

publicfunctiontagopen($tag,$content ) )。

{

$type=empty($tag['type'] ' )? 0 : 1; //此类型的目的是区分类型,常见的源是数据库

$name=$tag['name']; //name是必须项目,所以在此不进行判断

$parse=? php ';

$ parse.=' $ test _ arr=[ 1,3,5,7,9 ],[ 2,4,6,8,10 ];' ; //这里是模拟数据

$ parse.=' $ _ list _ _=$ test _ arr [ '.$ type.';' ;

$parse .='?

$ parse.=' { volist name=' _ _ list _ ' id='.$ name.' } ';

$parse .=$content;

$parse .='{/volist} ';

返回$ parse;

}

}

此时,我们的控制器继承Controller,并由配置参数组成。

' template'=[

//模板引擎类型支持php think支持扩展

' type'='Think ',

//模板路径

' view_path'=',

//模板后缀

' view_suffix'='.html ',

//预载标记库

' taglib _ pre _ load '=' appcommontaglibdemo ',

]、

可以在控制器上为模板分配值。

//向模板提供当前时间戳的值

$this-assign(demo_time )、$this-request-time ) );

调用已加载到模板中的标记:

关闭标签{ demo : close time=' $ demo _ time '/}

非封闭标签{ demo : open name=' demo _ name ' }

{$key}={$demo_name}

{/demo:open}

{ demo : open name=' demo _ name ' type='1' }

{$key}={$demo_name}

{/demo:open}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。