0

「lightbox2」( http://lokeshdhakar.com/projects/ligh.. ) を開発中の DNN モジュールに統合しようとしています。これには、Lightbox2 に付属する dnn プロジェクトで 4x js および css ファイルを使用することが含まれます。

ここ ( http://www.dotnetnuke.com/Resources/Wiki/Page/Client-Resource-Management-API.aspx ) にあるリソース クライアント管理 API ガイドに従って、モジュールでこれを設定しようとしました。残念ながら、ローカル マシンでモジュールを実行すると、エラーが発生し続けます。

Error: TestModule is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: The server tag is not well formed. ---> System.Web.HttpParseException: The server tag is not well formed. ---> System.Web.HttpException: The server tag is not well formed. at System.Web.UI.TemplateParser.ProcessError(String message) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.Parse() at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at DotNetNuke.UI.Modules.WebFormsModuleControlFactory.CreateModuleControl(TemplateControl containerControl, ModuleInfo moduleConfiguration) at DotNetNuke.UI.Modules.ModuleControlFactory.LoadModuleControl(TemplateControl containerControl, ModuleInfo moduleConfiguration) at DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() --- End of inner exception stack trace ---

私は(コードではなく)ascxページで作業しており、これまでのスクリプトは次のとおりです。

<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>

<dnn:DnnJsInclude runat="server" FilePath="FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />
<dnn:DnncssInclude runat="server" FilePath="~/DesktopModules/TestModule/css/lightbox.css" PathNameAlias="SkinPath" />
<dnn:DnncssInclude runat="server" FilePath="~/DesktopModules/TestModule/css/screen.css" PathNameAlias="SkinPath" />

回答を求めていくつかのフォーラムを検索しましたが、これに関するヘルプはあまりありません。同様の質問の 1 つがここにあります (カスタム DotNetNuke モジュールにライトボックスを追加する方法) が、私のような JavaScript の初心者にはあまり詳しく説明しません。

ここで誰かが私を正しい方向に向けることができれば、とても感謝しています

どうもありがとう

4

2 に答える 2

1

最初のインクルード行の繰り返し: FilePath="FilePath="~

2 番目の FilePath=" を削除します。

コメント後の編集:

jQuery を 2 回読み込んでいるので、そのうちの 1 つがライトボックス プラグインを読み込んでいると想定しています (これらは最初の 2 行が修正された後の最初の 2 行です)。

<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />

また、そのようにロードしようとしたことはありませんが、このように jQuery をロードすると、2 回 (おそらく 2 つの異なるバージョン) ロードされる可能性があります。使用してみてください:

DotNetNuke.Framework.jQuery.RequestRegistration();

代わりは。

于 2013-05-23T19:51:49.437 に答える
0

現在のプロジェクトでこのようなものを使用していますが、正常に動作します。あなたと私の唯一の違いは、PathNameAlias="SkinPath" 属性を使用していないことです。

クロス チェックの良い方法は、モジュールを含むページのソース コードを開き、javascript ファイルまたは css ファイルを名前で検索することです。ある場合はパスが正しいことを確認し、ない場合は問題があります。

独自のスクリプトを作成するときは、通常、それらが含まれていることを確認するためだけに、alert('here') から始めます。これを一時的にライトボックス js ファイルの先頭に追加できます。

マーク

于 2013-05-24T17:39:40.913 に答える