エクスペリエンス エディタで「テキスト フィールドに外部リンクを挿入します」をクリックした際に「Value cannot be null. Parameter name: html」エラーが発生する


説明

エクスペリエンス エディタで、リッチ テキスト フィールドのリボンの「テキスト フィールドに外部リンクを挿入します」デフォルト ボタンを押下すると、未処理の例外で失敗する可能性があります。

以下のエラーが、ログの記録に表示されます:

Exception: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: html
Source: Sitecore.Kernel
at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument, String argumentName)
at Sitecore.ExperienceEditor.Web.LinkConverter.LinkConverter.ConvertHtmlToXmlLink(String html)
at Sitecore.Shell.Applications.WebEdit.Commands.InsertExternalLink.Run(ClientPipelineArgs args)

註:メール エクスペリエンス マネージャ(EXM)のメッセージの「本文の編集」ダイアログに外部リンクを挿入しようとした際にも同じ問題が発生します。

解決策

この問題を解決するには、Sitecore XPインスタンスをSitecore XP 9.3以降のバージョンにアップグレードします。

または、次の解決策の適用を検討してください:

  1. \sitecore\shell\Applications\Page Modes\ChromeTypes\FieldChromeType.jsファイルを開くます。
  2. 以下のコードのサンプルで太文字で示されている変更を加えます:
    Sitecore.PageModes.PageEditor.postRequest(
    message +
    '(itemid=' +
    itemid +
    ',language=' +
    language +
    ',version=' +
    version +
    ',fieldid=' +
    fieldid +
    ',controlid=' +
    controlid +
    (message === "webedit:insertexternallink" ? ',selection=' + this.getSelectedHtml() : "") +
    ',webeditparams=' +
    parameters +
    ')',
  3. ブラウザのキャッシュを削除します。