公司一直使用 OpenX 作为广告投放的管理系统。从当时的 phpAdsNew,再到后来的 Openads,以及现在的OpenX,其使用效果还是不错的。
上一次安装的版本是 OpenX v2.6.1,不知从何时起其 css 无法加载,导致管理界面一团乱。虽然我还能大致识别后进行操作,但其它人就基本看不明白了。
今天上官网论坛查了一下,OpenX 在默认情况下使用 /lib/templates/admin/layout/styles.html 调用 www/admin/assets/combine/combine.php 来加载 css 文件,所有被调用的 css 文件都以参数形式写在一行地址中。虽然暂时不清楚为何这种调用方法有时会导致 css 文件不能加载,但将其改成普通的分别加载的方式则肯定没有问题。
在 /lib/templates/admin/layout/styles.html 文件中,找到以下内容:
- {if $combineAssets}
- <link rel="stylesheet" type="text/css" href="{$assetPath}/combine/combine.php?type=css&files={$genericStylesheets}" />
- {else}
- {foreach from=$aGenericStyleshets item=stylesheet}
- <link rel="stylesheet" type="text/css" href="{$assetPath}/{$stylesheet}" />
- {/foreach}
- {/if}
将其替换为:
- {*<!--
- {if $combineAssets}
- <link rel="stylesheet" type="text/css" href="{$assetPath}/combine/combine.php?type=css&files={$genericStylesheets}" />
- {else}
- -->*}
- {foreach from=$aGenericStyleshets item=stylesheet}
- <link rel="stylesheet" type="text/css" href="{$assetPath}/{$stylesheet}" />
- {/foreach}
- {*<!--
- {/if}
- -->*}
保存后再次访问 OpenX 页面,CSS 文件加载正常,页面也显示正常了。