我在使用 v1.6.1 时开始创建新主题。
创建自定义模块的过程并不顺利,所以我决定从头开始。这次我使用的是 V1.7 的源码
我复制了我的自定义主题文件夹,将其粘贴到新的 1.7 项目的主题文件夹中并运行该站点。我可以在仪表板中看到主题,因此我将其设置为当前主题。
现在,当我查看我的网站时,没有加载任何图像。样式表正在加载,但没有任何图像(来自样式表或任何视图)正在加载。
我的图片在 myTheme/content/images 中——据我了解,这是 1.6.1 要求的布局方式。
我的内容文件夹和图像文件夹一样有一个 web.config。它与 1.6.1 中使用的配置相同,所以我想知道是否发生了变化。
在我的一个主题视图中,我有以下代码 - 这在 1.6.1 中有效:
<img src="@Url.Content(Html.ThemePath(WorkContext.CurrentTheme,"/Content/Images/phoneBullet.png"))" alt="T:" />
如果我将它输出到我的前端,我会得到:
~/Themes/PerformanceAbrasives/Content/Images/phoneBullet.png
这告诉我事情似乎在正确的位置 - 尽管我想知道我的 web.config 现在是否已过时?
我有这个 - 内容中有一个副本,图像中有一个副本:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.web>
<httpHandlers>
<!-- iis6 - for any request in this location, return via managed static file handler -->
<add path="*" verb="*" type="System.Web.StaticFileHandler" />
</httpHandlers>
</system.web>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
<handlers accessPolicy="Script,Read">
<!--
iis7 - for any request to a file exists on disk, return it via native http module.
accessPolicy 'Script' is to allow for a managed 404 page.
-->
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>
任何指针?
更新
好的......所以如果我将我的项目设置为使用 Visual Studios 内部开发服务器,那么一切都很好 - 如果我告诉它使用本地 IIS Web 服务器 - 使用 IIS Express ( http://localhost:30333/
) - 那么它就不起作用了......
更新 2
好的 - 现在从 IIS 7 运行并且图像不加载......样式表似乎没问题,但图像不是...... grrr
有什么想法,所以我在部署时不会遇到这个问题?