НеНевозможно установить =) +ссылки в админке работают не корректно
Closed this issue · 6 comments
Привет! Попытался установить у себя на локалхосте (под виндой) - консоль хрома ругается, что отсутствуют файлы. Пошел по пути в папки - файлов и правда нет =) Может они должны автоматом создаваться при начале установки?
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/KodiCMS/cms/media/css/install.css
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/KodiCMS/cms/media/js/install.js
dropzone ReferenceError: Dropzone is not defined backend.min.js:1
fancybox TypeError: undefined is not a function backend.min.js:1
popup TypeError: undefined is not a function backend.min.js:1
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/KodiCMS/cms/media/css/install.css
сделал хотфикс (чисто потестить чтоб =) ), исправил ADMIN_RESOURCES в 2х строках в файле cms\modules\installer\classes\controller\install.php
54 Assets::js('install', 'cms/modules/installer/media/' . 'js/install.js', 'global');
55 Assets::css('install', 'cms/modules/installer/media/' . 'css/install.css', 'global');
установка cms началась - появились табы, шаги ("далее") и в конце "установка", всё установилось нормально, в админку пустило, НО все ссылки в админке (я её назвал admin во время установки, а не backend, как предлагалось) отображаются БЕЗ подкатегории, в которую я запихнул сайт, т.е. http://localhost/admin/plugins/ вместо правильного http://localhost/KodiCMS/admin/plugins/
з.ы. перед установкой в подкатегорию я изменил .htaccess - RewriteBase /KodiCMS/ и cms\application\bootstrap.php - 'base_url' => '/KodiCMS/'
з.ы.ы. 3и ссылки в верхнем тулбаре админки показываются правильно, это "Сообщения" - /KodiCMS/admin/messages + "Настройки" - /KodiCMS/admin/system/settings и "Посмотреть сайт" - /KodiCMS/
собственно за показ бокового меню у нас отвечает файл cms\modules\kodicms\views\system\layout\menu.php где конструкция вида -
9 < a href="/url(); ?>">
отображает ссылку неверно (т.е. http://localhost/admin), как и все следующие ссылки (напомню - если у нас сайт установлен в подпапку). Но рядом с файлом menu.php лежит navbar.php, где за вывод ссылок отвечает следующая конструкция -
16 uri(array('controller' => 'system', 'action' => 'settings')), UI::icon('cogs fa-lg')); ?>
и тут уже ссылка отображается верно - http://localhost/KodiCMS/admin/system/settings
Привет, специально для твоей проблемы создал новую ветку, в ней вроде частично решил проблемы, осталось проверить работу шаблонов и сниппетов
И еще, какой вебсервер используется, не получилось воспроизвести ошибку
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/KodiCMS/cms/media/css/install.css Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/KodiCMS/cms/media/js/install.js
Эти ошибки чисто информационные, что эти модули отсутствуют, на работу они не влияют
dropzone ReferenceError: Dropzone is not defined backend.min.js:1 fancybox TypeError: undefined is not a function backend.min.js:1 popup TypeError: undefined is not a function backend.min.js:1
ADMIN_RESOURCES задается в https://github.com/butschster/kodicms/blob/master/cms/application/bootstrap.php#L135 и не понятно почему в нем могут возникнуть проблемы
Собственно проблема оказалась в кэшировании nginx, он искал css и js в папке (а их там нет, т.к. они отдаются apache виртуально) и выдавал 404 ошибку. Думаю мы найдем пути решения данной проблемы =)
Собственно, всё заработало прекрасно после небольшого исправления конфига nginx:
location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root путь/до/папки/с/сайтом;
error_page 404 = @fallback; # это и добавил - в случае, если nginx не находит файл, он передает запрос apache
}
location @fallback {
proxy_pass http://backend; # ну или proxy_pass http://127.0.0.1:81; - как удобнее
#-- далее заголовки тоже обязательно передаем apache, иначе он нам выдаст forbidden
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}