非常に古いアプリ (現在 CF8 で実行中) を Lucee に移行しています。しかし、ある種のカスタム タグのように見える問題が発生しています。
古いインストールと新しいインストールの両方で、すべての仮想ディレクトリが IIS で同じであることを確認しようとしました。また、CFIDE と Lucee Admin の両方でマッピングとカスタム タグのパスが同じであることを確認してください。
しかし、私はこのエラーが発生しています。そして、これがどのようcflink
にインスタンス化されているのかわかりません。
utils.cfc ファイルの 300 行目にエラー コードの場所が見つかりました。
<cf_link pageid="#LinkPageID#" Init="start">
私は長い間カスタム タグを使用していませんでしたが、それらは一般的にアンダースコアで呼び出され、これがカスタム タグとして呼び出されている場合、コードはもっと好きになるはずだと思っていました。
このアプリを実行している現在の CF サーバーに移動すると 、「tags」のマッピングがないように見えても、「tags」というディレクトリにある cflink.cfm というファイルからcfclass ファイルが作成されていることがわかります。ディレクトリもアドミニストレータの「カスタムタグパス」の下にもリストされていません。
このアプリは 2003 年に開始されましたが、ご想像のとおり、スパゲッティ コードのミスマッチに発展し、最初からこのタグがどのようにインスタンス化されているかを尋ねる人は誰もいません。
レガシーコードの経験がある人は、これを機能させるために私が見るべき他のアイデアを持っていますか? 現在は本番環境しかありませんが、Lucee で動作させることができれば、ここ 10 年間存在しなかった開発環境になるだけでなく、Lucee を紹介し続けることができる素晴らしい方法になります。優れた CFML エンジン
追加情報の追加
Leigh は init が jar 参照ではないかと尋ねましたが、cflink.cfm ファイルには次のコードが表示されます。
<cfif Attributes.Init IS "start">
<cfset Request.PageID = Attributes.PageID>
<cfset Request.Page_Width = Variables.qParentInfo.Page_Width>
<cfset Request.Page_Height = Variables.qParentInfo.Page_Height>
<cfset Request.Page_TypeID = Variables.qParentInfo.Page_TypeID>
<cfset Request.AddPath = "">
<cfif IsDefined("Attributes.Anchor")>
<cfset Request.Anchor = Attributes.Anchor>
<cfelse>
<cfset Request.Anchor = "">
</cfif>
<cfset Request.IsInternalLink = false>
<cfexit method="EXITTAG">
</cfif>
tags\cflink.cfm 内のコードにも cflink への参照があります。
<cfif Len(Variables.qParentInfo.ParentID) GT 0>
<!--- Add the page title to the end of the path --->
<cfset Request.AddPath = ReplaceNoCase(Variables.qParentInfo.Nav_Title," ","_","ALL") & "/" & Request.AddPath>
<cflink init="working" pageid="#Variables.qParentInfo.ParentID#" popcode="#Attributes.popcode#">
<cfelse> ......</cfif>
これは2004年に書かれたことを考えると再帰かもしれませんが、私はそれを疑っています
検索のスクリーン ショットの追加