繁体   English   中英

Twig无法加载资产

[英]Twig is not able to load assets

我正在尝试使用细长的细枝和细树枝。 问题是我不能将CSS或JS文件包含在树枝HTML中。 直接从浏览器访问css和js文件会导致404 not found错误以及浏览器控制台抛出404页面错误。

这是我的httdocs(文件夹结构)

在此处输入图片说明

我的Apache文档根目录是/var/www/devdomain.dev/publicDirectoryIndex index.php

这是我在公用文件夹中的index.php

在这里,我试图用$ app-> hook添加钩子并将其传递给twig也没有用。

<?php

require '../vendor/autoload.php';

// Prepare app
$app = new \Slim\Slim(array(
    'templates.path' => '../templates',
));

// Create monolog logger and store logger in container as singleton 
// (Singleton resources retrieve the same log resource definition each time)
$app->container->singleton('log', function () {
    $log = new \Monolog\Logger('slim-skeleton');
    $log->pushHandler(new \Monolog\Handler\StreamHandler('../logs/app.log', \Monolog\Logger::DEBUG));
    return $log;
});

$app->hook('slim.before', function () use ($app) {
    $app->view()->appendData(array('baseUrl' => 'templates/'));
});

// Prepare view
$app->view(new \Slim\Views\Twig());
$app->view->parserOptions = array(
    'charset' => 'utf-8',
    'cache' => realpath('../templates/cache'),
    'auto_reload' => true,
    'strict_variables' => false,
    'autoescape' => true
);
$app->view->parserExtensions = array(new \Slim\Views\TwigExtension());


// Define routes
$app->get('/', function () use ($app) {
    // Sample log message
    $app->log->info("Home-Page '/' route");
    // Render index view
    $app->render('index.phtml');
});

// Run app
$app->run();

所以我的问题是:如何将模板路径或资产路径传递给苗条的树枝?

编辑:如果公共文件夹中的css或js文件可以包含在内。

我认为这与您的设置有关。 您的浏览器位于index.php并且他将从中搜索您的资产,但找不到它们-因为它们不在您的vhost

实际上,它们在那里,但是当apache在公用文件夹中启动时,您的浏览器就无法离开那里。 该资产必须是公开的(或直接“回显”到您的模板中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM