处理具有php标记的较少CSS文件


Processing Less CSS files that have php tags

我们有一个较少的文件hi_style.less:

@import "css/base-ui.less";
#hi {
    margin: 100px;
}

其中包括另一个较少的文件css/base-ui.less,其行如下:

.ui-go {
    background: #74A372 url(<?php echo $l_uri; ?>/images/ui-go.png) repeat-x scroll 50% 50%;
}

我们需要php的原因(除非有人有更好的想法)是因为只有一个代码库,但我们有许多站点连接到独立于单个代码库的数据库中。

例如

CCD_ 3和CCD_ 4使用相同的代码,但URL明显不同。

有没有一种方法可以忽略php标记,或者用一个代码库来获得显式url。

我们不能使用相对路径,因为基本路径可以改变并指向不同的代码库。

提前谢谢。

编辑:处理后它不能是静态文件,因为代码库可以通过类似site-a.mysite.com/testingsite-a.mysite.com/beta的url访问,所以图像文件的url可以是:

http://site-a.mysite.com/images/ui-go.png

http://site-a.mysite.com/testing/images/ui-go.png

http://site-a.mysite.com/beta/images/ui-go.png,这取决于正在访问的代码库。

在我看来,用引号包装url字符串(这很有效;我在这里使用了单引号')将解决您的问题。所以…

.ui-go {
    background: #74A372 url('<?php echo $l_uri; ?>/images/ui-go.png') repeat-x scroll 50% 50%;
}

这允许LESS实际输出带有php代码的字符串(而不是抛出错误),然后当您通过php解析器运行编译的css时(我认为这就是您正在做的),它仍然应该根据需要填充echo值。