2016-11-17 96 views
0

一点背景
我们一直在做一些重组,关于我们如何与nopCommerce工作,以使事情更容易维护。以前,我们一直在使用主题系统来照顾我们的观点,脚本,CSS和图像。然而,我们现在将所有这些移动到我们的名为“Nop.Plugin.Wca.WE”的主插件,这是我遇到的一个非常奇怪的问题。Nopcommerce插件查看:CSS和JavaScript文件未找到(404)

我的问题
我已经过感动一切,更新了所有引用,路径等,这样的事情应该工作得很好,但只是部分情况。我的控制器能够返回视图,但视图无法添加任何CSS或JavaScript文件,因为它表示在浏览器的检查器中“无法找到(404)”。我一直认为我是使用时,它是在“主题”文件夹(这是工作)完全一样的语法,我只是改变了路径:

Html.AppendCssFileParts("~/Plugins/Nop.Plugin.Wca.WE/Contents/css/ProductDetails/styles.css"); 

Html.AppendScriptParts("~/Plugins/Nop.Plugin.Wca.WE/Scripts/ProductDetails/ProductDetailsTooltips.js"); 

错误消息:

http://localhost:15636/Plugins/Nop.Plugin.Wca.WE/Contents/css/ProductDetails/styles.css Failed to load resource: the server responded with a status of 404 (Not Found) 

http://localhost:15636/Plugins/Nop.Plugin.Wca.WE/Scripts/ProductDetails/ProductDetailsTooltips.js Failed to load resource: the server responded with a status of 404 (Not Found) 

路径是正确的,存在的文件
这会让你想到的第一件事是“好吧,路径一定有问题”,但是,这不可能是这种情况,因为我用下面的代码验证了这一点在同一个文件中:

@HttpRuntime.AppDomainAppPath 

此输出:
“d:\ TFS_Clean2 \ WCA B2B在线商店\ nopCommerce_B2B_3.80 \演示\ Nop.Web \”

这证明根 “〜/” 其实是在Nop.Web如预期的那样。

而且也:

@File.Exists(@"D:\TFS_Clean2\WCA B2B Online Store\nopCommerce_B2B_3.80\Presentation\Nop.Web\Plugins\Nop.Plugin.Wca.WE\Scripts\ProductDetails\ProductDetailsTooltips.js") 

所以该文件确实在这个确切位置存在哪些输出“真”。

我觉得这也是值得一提的还有在此视图文件许多其他调用返回使用相同的路径功能逻辑和预期,这些所有的工作部分景色,这里是一个例子:

@Html.Partial("~/Plugins/Nop.Plugin.Wca.WE/Views/ProductDetails/_ProductPrice.cshtml", Model.ProductPrice) 

我试过了什么
- 我试过了不同的方法变体“AddCssFileParts()”,“AddScriptParts()”等。这些都没有效果。

-there是文档中的一小部分展示如何添加使用不同的语法的一点点这些文件:http://docs.nopcommerce.com/display/nc/Adding+CSS+and+JS+resource+files+into+nopCommerce+Plugin
我曾与行为没有改变尝试这个。

- 我尝试改变路径的小方法,如删除“〜/”和删除文件扩展名。

- 我刷新了浏览器的缓存。

这似乎应该是这样一个小问题,但我一直在解决它几个小时无济于事。希望这里的某个人能够为我阐明一些情况。任何帮助深表感谢。

回答

0

我解决了这个问题,有一个在插件的web.config文件是被阻止访问这些文件的设置:

<handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
</handlers> 

我认为,这是为了限制进入查看,但因为它是在插件的配置文件中,我想它也限制了其他文件,尽管奇怪得像我在文章中提到的那样,我能够访问视图就好了,所以我不太确定那里发生了什么。

+1

恭喜您解决您自己的问题朋友! – KyleKW