Kohana: таблицы стилей + маршрутизация = не работает - PullRequest
0 голосов
/ 27 января 2012

Я пытаюсь настроить v3.2.0 Kohana, и у меня проблема с таблицами стилей (и, возможно, также с файлами и изображениями javascript, но я их еще не тестировал). Глядя на исходный код моей страницы, я вижу, что он идет по правильному пути к файлу для таблицы стилей, однако страница не загружается в стилизованном виде. Если я просматриваю таблицу стилей напрямую, я получаю сообщение об ошибке, что нет соответствующего маршрута для файла. Есть ли способ сделать исключение из моих маршрутов, чтобы разрешить доступ к таблицам стилей и даже к JavaScript и изображениям?

Это мой файл Template Controller (ну, единственные строки, имеющие дело с таблицами стилей)

$this->template->styles = array('application/themes/1/style/style.php' => 'all');

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

Маршрутизация в Boostrap (все переменные определены ранее и работают с другими страницами)

Route::set(
    'custom',
    '(<controller>(/<action>(/<param1>)(/<param2>(/<param3>(/<param4>(/<param5>(/<param6>)))))))'
    )->defaults(array(
    'controller' => $controller,
    'action'     => $action,
    'param1'     => $param1,
    'param2'     => $param2,
    'param3'     => $param3,
    'param4'     => $param4,
    'param5'     => $param5,
    'param6'     => $param6,
));

Кроме того, я уверен, что это вступает в игру ... Мой стиль расположен в папке моего приложения вместо "media" или "assets" в корне документа. Обратите внимание, что даже когда я переместил мои файлы в корень документа, к ним все равно не было доступа.

Есть ли способ, которым я могу сопоставить URL для слова "стиль", и если есть совпадение, НЕ искать маршрут? Возможно, это должно быть сделано через modrewrite в htaccess, я не уверен.

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 27 января 2012

Маршруты не имеют ничего общего с активами. Поместите их где-нибудь в DOCROOT и создайте ссылку на них в своем html, как это обычно делается без фреймворка:

<link src="<?=url::base()?>assets/css/layout.css" />
...