Связывание CSS или JS с макетом по умолчанию - PullRequest
3 голосов
/ 01 апреля 2011

Я пытаюсь понять, как связать CSS или JS. Я буду использовать его во всем приложении CakePHP 1.3. Я читал о размещении ресурсов в папке /app/webroot/css или /app/layouts/css (только для css в этом случае).

Я положил файл с именами main.css и default.css, но мне чего-то не хватает.

Как я могу это исправить и какие правила по умолчанию для макета по умолчанию?

1 Ответ

7 голосов
/ 01 апреля 2011

Обычный

$this->Html->css('my_file'); соответствует /app/webroot/css/my_file.css $this->Html->script('my_file'); соответствует /app/webroot/js/my_file.js

Вы добавляете часть php сверху в файл макета, который по умолчанию установлен в /app/views/layouts/default.ctp (или в торт-директории, если вы ее не создали)

вы можете установить макет в настройке контроллера / app_controller $this->layout = 'foo';, которая указывает на /app/views/layouts/foo.ctp

Темы

Установка контроллера на $this->view = 'Theme'; заставит торт использовать темы, затем установка $this->theme = 'SomeTheme'; в контроллере заставит торт использовать /app/views/themed/some_theme/* файлы

с использованием $this->Html->script('my_file'); теперь указывает на /app/views/themed/some_theme/js/my_file.js, и то же самое происходитдля css.

css = http://book.cakephp.org/view/1437/css

js = http://book.cakephp.org/view/1589/script

themes = http://book.cakephp.org/view/1093/Themes

темы имеют проблемы с обслуживанием css, js и другие ресурсы через php (ob_start (); include и т. д.), и это, очевидно, медленнее, чем обычное обслуживание http.Вы можете скопировать файлы в папку webroot, как описано ниже, или быть ленивым и сделать что-то вроде https://gist.github.com/712622

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...