2016-11-17 97 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