CakePHP 2.4.1 $this->webroot дает / а не /app/webroot

Я унаследовал проект CakePHP 2.4.1, и я не хочу использовать все помощники по html, css, скриптам, так как это делает приложение более зависимым от CakePHP, если мы когда-либо хотели изменить фреймворки, но когда я пытаюсь загрузить скрипты, стили, изображения с использованием

<?php echo $this->webroot; ?>css/app.min.css

но это производит URL

http://example.com/app.min.css

$this->webroot просто возвращает /, я еще не очень знаком с CakePHP. Есть параметр конфигурации или что-то, что установлено, что изменяет это? Мой файл vhosts указывает на webroot.

1 ответ

Решение

"Webroot" - это каталог, который доступен для общественности. Он содержит все ваши элементы активов и т. Д., Он должен выглядеть следующим образом:

-- webroot
| -- assets
    | -- css
    | -- js
    | -- img
| -- index.php
//etc

Поэтому, когда вы бежите $this->webroot Вы получаете путь к общедоступному каталогу. Это предполагает, что все файлы активов будут находиться в этом каталоге.

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

define('WEBROOT_DIR', 'MY_WEBROOT_DIR');

И изменить MY_WEBROOT_DIR на фактическое имя вашего публичного каталога, как он находится within your CakePHP Application

Другие вопросы по тегам