修正 OpenX v2.6.1 不加载 CSS 文件的 Bug

公司一直使用 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 文件中,找到以下内容:

  1. {if $combineAssets}
  2. <link rel="stylesheet" type="text/css" href="{$assetPath}/combine/combine.php?type=css&files={$genericStylesheets}" />
  3. {else}
  4.   {foreach from=$aGenericStyleshets item=stylesheet}
  5. <link rel="stylesheet" type="text/css" href="{$assetPath}/{$stylesheet}" />
  6.   {/foreach}
  7. {/if}

将其替换为:

  1. {*<!--
  2. {if $combineAssets}
  3. <link rel="stylesheet" type="text/css" href="{$assetPath}/combine/combine.php?type=css&files={$genericStylesheets}" />
  4. {else}
  5. -->*}
  6.   {foreach from=$aGenericStyleshets item=stylesheet}
  7. <link rel="stylesheet" type="text/css" href="{$assetPath}/{$stylesheet}" />
  8.   {/foreach}
  9. {*<!--
  10. {/if}
  11. -->*}

保存后再次访问 OpenX 页面,CSS 文件加载正常,页面也显示正常了。

Bookmark this post:

Leave a Reply