我想使用名称中的变量来调用自定义标签。像这样
<cfset slist = 'product_categories'>
<cf_cu_show_#slist#>
Run Code Online (Sandbox Code Playgroud)
这给我#上的错误。自定义标签cu_show_product_categories存在,并且以常规方式调用时起作用。这个想法是建立一个循环列表,调用几个自定义标签。
<cfset slist = 'product_categories'>
<cfif a = 'blogs'>
<cfset slist = listAppend(slist,"blogs")>
</cfif>
<cfif b = 'posts'>
<cfset s_list = listAppend(slist,"last_posts")>
</cfif>
<cfloop list="#slist#" index="i">
<cf_cu_show_#i#>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
我尝试使用Google,但找不到任何有用的东西。任何帮助,将不胜感激。
您已经发现,在调用自定义标签中使用变量名是无效的。解决此问题的方法是改用<cfmodule>
语法来调用自定义标签。在第一种情况下,您将这样称呼它。
<cfset slist = 'product_categories'>
<cfmodule template="cu_show_#slist#.cfm">
Run Code Online (Sandbox Code Playgroud)
在下面的示例中,您将这样修改代码。
<cfset slist = 'product_categories'>
<cfif a = 'blogs'>
<cfset slist = listAppend(slist,"blogs")>
</cfif>
<cfif b = 'posts'>
<cfset s_list = listAppend(slist,"last_posts")>
</cfif>
<cfloop list="#slist#" index="i">
<cfmodule template="cu_show_#i#.cfm">
</cfloop>
Run Code Online (Sandbox Code Playgroud)
这是有关如何使用的文档链接<cfmodule>
。
https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-mo/cfmodule.html
我还找到了另一个不错的链接,它们在此处演示您需要动态提供标签名称的情况,如此处所示,网址为https://flylib.com/books/en/2.375.1.420/1/
归档时间: |
|
查看次数: |
73 次 |
最近记录: |