Twig не умеет загружать активы

1

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

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

Изображение 174551

Мой корень документа apache - /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();

Поэтому мой вопрос: как передать путь шаблона или путь к веточке с тонким?

edit: Если файлы css или js в общей папке, они могут быть включены.

  • 0
    какой адрес 404 вы получаете?
  • 0
    @inye предоставьте это www.devdomain.dev
Теги:
twig
slim

1 ответ

0
Лучший ответ

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню