9

我不是 ColdFusion 编码员。帮一个将他的 CF 站点从 Windows 服务器移植到 GoDaddy 上的 Unix 的朋友。

网站显示错误:

找不到自定义标记 jstk 的 CFML 模板。ColdFusion 尝试在已安装的自定义标签树中查找,但没有找到具有此名称的自定义标签。

我发现的站点位于文档根目录 /CustomTags 中,其中包含 jstk.cfm 文件和 cf_jstk 中的一组文件

我的谷歌搜索找到了这个:

您必须将自定义标签页面存储在以下任一位置: 与调用页面相同的目录;cfusion\CustomTags 目录;cfusion\CustomTags 目录的子目录;您在 ColdFusion Administrator 中指定的目录

所以我有:

  • 尝试在 /cfusion/CustomTags 中创建放置 /CustomTags
  • 尝试将 /cfusion/CustomTags 复制到上面的文档根目录
  • 尝试将 jstk.cfm 和子文件夹复制到与调用文件(index.cfm)相同的目录中

更新:根据 GoDaddy 支持,我还尝试添加以下内容但无效:<cfmodule template="CustomTags/jstk.cfm">

任何人都可以给我一些提示,还是我应该告诉我的人寻找 CF 编码器?

谢谢!

4

3 回答 3

3

为了在担心复杂的事情之前检查简单的事情:请记住,*nix 系统上的文件名区分大小写,但 Windows 上不区分大小写。

例如,windows 服务器会选择“application.cfm”,但 linux 服务器不会。它需要“Application.cfm”。

检查以确保所有文件名/路径都是正确的大小写。

于 2010-05-14T16:30:40.960 回答
3

我不知道 GoDaddy 是如何设置的,所以作为快速测试,请执行以下操作:

test.cfm在 webroot 中创建包含以下内容的文件:

<cf_testtag/>
<cfoutput>test</cfoutput><cfabort/>

testtag.cfm在 webroot 中创建包含以下内容的文件:

<cfdump var=#ThisTag# />

然后在浏览器中访问 test.cfm 页面。

您应该得到两个调试转储,然后是“测试”;这将确认自定义标签通常是有效的。

如果可行,请将其testtag.cfm移至 CustomTags 目录,并查看您是否得到相同的行为或错误。

如果这产生错误,对于 CF8 及更高版本,您可以<cfset This.CustomTagPaths = "/CustomTags" />Application.cfc文件中添加(假设有 App cfc 而不是Application.cfm)以确保检查该目录的标签。

可以将 Application.cfm 转换为 Application.cfc - 这有多容易取决于代码的复杂程度 - 可能是您可以弄清楚的,或者可能需要有经验的 CF 开发人员,这取决于。

根据结果​​,我们可以尝试调试jstk标签不工作的原因(除非上述方法之一解决了它)。

于 2010-05-14T16:07:52.003 回答
3

通常,CFML 会首先检查当前目录下的每个自定义标签,如果没有找到,第二个是在 CFMX8/customtags/ 中。

于 2010-05-18T03:02:46.733 回答