【问题标题】:Smarty Template OrganizationSmarty 模板组织
【发布时间】:2012-12-26 12:07:46
【问题描述】:

我已经设置了 Smarty,我的基本结构是这样的:

www.domain.com/html -- 这是所有 .php 文件所在的位置。 www.domain.com/smarty/templates -- 这是所有 .tpl 文件所在的位置。

现在,对于 web 根目录 (html) 中的文件,一切正常,但是当我将 .php 文件放在根目录下的单独文件夹中时,我不确定该怎么做,例如www.domain.com/html/文件夹/。我想这样做是为了在该新文件夹下组织一堆相关页面。我仍然将所有 .tpl 文件放在 www.domain.com/smarty/templates 文件夹下。当我尝试在该新文件夹下显示页面时,例如ww.domain.com/html/folder/,页面的资源(CSS、图像等)丢失,即没有被获取。为这种情况组织文件的正确方法是什么?

谢谢。

【问题讨论】:

    标签: php smarty


    【解决方案1】:

    确保您对 template_dir、compile_dir、cache_dir 和 config_dir 的配置使用的是完整的绝对路径(例如 /home/httpd/vhosts/[yourdomain.com].... 或带有尾随 / 的任何内容)。

    确保使用根目录的绝对路径引用您的 CSS/图像。因此,如果您的 css 位于 [ROOT]/css 文件夹中,您的 HTML 将像这样调用 CSS:<link rel="stylesheet" href="/css/main.css" type="text/css">

    模板在哪里以及您的 PHP 文件在哪里都没有关系。当它们被加载到 PHP 中时,模板就是这样,一个模板,所有的路径都是从 PHP 文件的角度发生的。

    【讨论】:

    • 在做共享头文件或其他东西的模板时,您希望从根目录使用绝对路径来获取资源,这样无论调用模板的 php 文件在哪里,它都能获取您的资源。
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多