【问题标题】:Twig is unable to find the template even though it exists即使存在,Twig 也无法找到模板
【发布时间】:2017-08-06 10:32:43
【问题描述】:

这是位于我网站根目录中的config.php 文件:

<?php

    define('SITE_ROOT',  dirname(__FILE__));
    define('CORE_DIR',   SITE_ROOT . '/core');
    define('VIEWS_DIR',  SITE_ROOT . '/views');
    define('ASSETS_DIR', SITE_ROOT . '/assets');

    require SITE_ROOT . '/vendor/autoload.php';
    require CORE_DIR . '/DBConnector.php';

    $loader = new Twig_Loader_Filesystem(VIEWS_DIR);
    $twig = new Twig_Environment($loader);

    function loadHead($title) {

        global $twig;

        echo $twig->render(VIEWS_DIR . '/head.html', array('naslov' => $title));

    }

SITE_ROOT/Applications/XAMPP/xamppfiles/htdocs/site_name,其中config.php 也位于,head.html 位于views 文件夹中。

但是,每当我尝试访问站点根目录中的任何页面时,我仍然会收到错误消息。

Fatal error: Uncaught Twig_Error_Loader: Unable to find template "/Applications/XAMPP/xamppfiles/htdocs/site_name/views/head.html" (looked into: /Applications/XAMPP/xamppfiles/htdocs/site_name/views).

到目前为止,我尝试重新启动 Apache 服务器,检查目录两次以确保文件实际上在那里(它是,我可以通过浏览器直接访问它),检查文件夹权限并清除缓存但没有任何效果。

【问题讨论】:

    标签: php twig


    【解决方案1】:

    Twig 相对于传递的视图文件夹定位模板,在您的情况下,您将文件夹设置为 /Applications/XAMPP/xamppfiles/htdocs/site_name/views,这意味着渲染头的正确代码将是

    $twig-&gt;render('head.html', ...);

    【讨论】:

    • 为我节省了大量时间。
    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2022-07-21
    • 2019-04-11
    • 2023-04-01
    相关资源
    最近更新 更多