假设系统结构如下|-admin 管理系统
|-style css文件
|----main.css
|----global.css
|-javascript JS文件
|-templates 模板文件
|-config.php 配置文件
|-function.php 功能函数文件
|-XXX.php 其它文件
---------------------------
我要在admin目录里的一个程序调用templates下的文件做模板,使用CSS和JS下面的相关文件
不想使用"../style/"这种写法. 总感觉不好.
想根据系统的根目录定义
如果使用"/style/main.css"来链接也不是最好的,
因为系统有可能做为一个模块文件夹安装在网站里面

解决方案 »

  1.   

    "因为系统有可能做为一个模块文件夹安装在网站里面"
    这是必然的,甚至可以有多套模板而分别有各自的css、image文件
    于是您的
    |-templates 模板文件
    可能变成
    |-templates 模板文件
      |- 模板1
        |- style
        |- images
      |- 模板2
        |- style
        |- images
    为便于模板的调试,通常应使用相对路径
    使用"../style/"并不可取,调试模板可能没有问题,但从根上执行程序时就出问题了
    由于你使用模板,模板变量通常写作{var}。另外请注意到一个事实:目录是可以按{var}这样命名的
    于是你的目录可设成
    |-templates 模板文件
      |- 模板1
        |- {style}
        |- {images}
      |- 模板2
        |- {style}
        |- {images}<img src="{images}/foo.gif">
    编辑模板时不会有问题
    解析模板时把“{imgaes}”替换成“templates/模板2/{images}”也不是问题虽然怪异,但很有效
      

  2.   

    这个个问题可以考虑用html的base标签.只要改变一下base标签,就可以实现上面的问题.
      

  3.   

    这是一小而且普遍的问题啊采用类mvc框架,在controller.php里包含一个config.php,在config.php里面定义模板路径templatePath,模板文件中的路径用{templatePath}之类表示,类似于xuzuning(唠叨)的思路。
      

  4.   

    我不想用相对路径, 总感觉不安全另外大家还是没说CSS的路径问题
    由于采用WEB标准,所有的修饰图片我都采用了背景定义的方法, 
    如:在一个CSS文件里
    #head {
    margin:5px;
    padding:10px 20px;
    background:#00A6EF url(../images/main_bg.gif);
    height:50px !important;
    height:70px;
    }
    这个url(../images/)该怎么写成绝对的??
    难道也要写成{images}的形式然后替换???
    这样不是太费资源?
      

  5.   

    相对路径的确很容易有问题。
    譬如:
    a.php中require("include/b.php"),而b.php中require("c.php"),b和c同在include文件夹下。
    之前在本机测试中,无错,但是放到服务器上测试,就提示无此文件c.php。所以需要加上相对a.php的地址才行。所以我只有采用绝对路径的办法。
    绝对路径有问题?不觉的。
      

  6.   

    upupup,还有其它的解决办法吗?
      

  7.   

    zairwolfi(君子兰) 你算个什么鸟