2015-07-08 2 views
1

Я стараюсь работать с тонким дополнением и веточкой. Проблема в том, что я не могу включить css или js-файлы в twig html. Доступ к css и js-файлу непосредственно из браузера дает 404 не найденную ошибку, а также консоль браузера выдает ошибку 404 страницы.Twig не может загружать активы

вот мой httdocs (структура папок)

enter image description here

Мой корень апач документ /var/www/devdomain.dev/public и DirectoryIndex index.php

это мой index.php в общей папке

здесь я попытался добавить крюк с $ app-> hook и передать его на веточку тоже не сработало.

<?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 в общей папке, они могут быть включены.

+0

Что такое URL-адрес 404, который вы получаете? – inye

+0

@inye это www.devdomain.dev –

ответ

0

По-моему, речь идет о вашей настройке. Ваш браузер находится на index.php, и из этого он будет искать ваши активы, но не может их найти, потому что они не находятся на вашем vhost.

Справа физически они есть, но когда apache запускается в общей папке, ваш браузер не может выбраться оттуда. Эти активы должны быть общедоступными (или напрямую «эхом» в ваш шаблон).

Смежные вопросы