[英]Twig is not able to load assets
我正在尝试使用细长的细枝和细树枝。 问题是我不能将CSS或JS文件包含在树枝HTML中。 直接从浏览器访问css和js文件会导致404 not found错误以及浏览器控制台抛出404页面错误。
这是我的httdocs(文件夹结构)
我的Apache文档根目录是/var/www/devdomain.dev/public
和DirectoryIndex 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.