think icon indicating copy to clipboard operation
think copied to clipboard

标签扩展如何传递变量参数?

Open mkinit opened this issue 2 years ago • 5 comments

{Js2:postlist cate="$post['category']['id']" /}

做了一个自定义标签,想把当前文章的分类id传过去,发现传过去是$post['category']['id']原样的字符串,不是分类ID。有没有大佬用过自定义标签,求解

mkinit avatar Feb 14 '22 13:02 mkinit

可以参考我的做法 https://github.com/shirne/ShirneCMS/blob/master/src/application/common/taglib/Article.php https://github.com/shirne/ShirneCMS/blob/master/src/application/common/core/BaseTabLib.php 这两个文件

shirne avatar Mar 03 '22 23:03 shirne

邮箱已收到,谢谢你的支持,祝你生活愉快~~=================================杨怀桂手机:13698971401

zcenet avatar Mar 03 '22 23:03 zcenet

可以参考我的做法 https://github.com/shirne/ShirneCMS/blob/master/src/application/common/taglib/Article.php https://github.com/shirne/ShirneCMS/blob/master/src/application/common/core/BaseTabLib.php 这两个文件

我看了一下你的标签扩展跟官方差不多的写法,是返回一段PHP代码,我之前试过是可以直接传递变量的。 不过我的标签扩展是跟控制器一样查询数据后拼接好完整的HTML结构返回,所有不能直接传递变量。

mkinit avatar Mar 04 '22 05:03 mkinit

我看了一下你的标签扩展跟官方差不多的写法,是返回一段PHP代码,我之前试过是可以直接传递变量的。 不过我的标签扩展是跟控制器一样查询数据后拼接好完整的HTML结构返回,所有不能直接传递变量。

你这个标签库是直接生成最终html ? html中没有php代码 ?

除非是模板阶段就需要固定结果的,一般是把参数解析成php代码(就是编译后的模板代码),然后在实际访问的时候执行代码输出结果 。

shirne avatar Mar 04 '22 15:03 shirne

我看了一下你的标签扩展跟官方差不多的写法,是返回一段PHP代码,我之前试过是可以直接传递变量的。 不过我的标签扩展是跟控制器一样查询数据后拼接好完整的HTML结构返回,所有不能直接传递变量。

你这个标签库是直接生成最终html ? html中没有php代码 ?

除非是模板阶段就需要固定结果的,一般是把参数解析成php代码(就是编译后的模板代码),然后在实际访问的时候执行代码输出结果 。

是的,我的标签库输出的就是最终的html。我再研究研究,实在不行我就从url提取当前文章ID就行了。谢谢大佬。

mkinit avatar Mar 05 '22 10:03 mkinit