Домой Wp-Recall WP-Recall: Проблемы и решения на локальном сервере Неправильные урлы к файлам стилей и скриптов
4ответ(ов) в теме
aleksandr_romanovich
не в сети 3 месяца
На сайте с 03.05.2018
Участник
Тем 9
Сообщения 18
1
17:56
Версия WP-Recall: 16.15.5

Здравствуйте!

Локалка на WIN10x64, OpenServer, PHP 7.0

Сейчас активировано только одно дополнение - PrimeForum.

Вот что наблюдаю в коде страницы (Кабинет):

<link rel='stylesheet' id='font-awesome-css'  href='http://aff.rru/wp-content/plugins/wp-recall/assets/css/font-awesome/css/font-awesome.min.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='animate-css-css'  href='http://aff.rru/wp-content/plugins/wp-recall/assets/css/animate-css/animate.min.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='rcl-primary-css'  href='http://aff.ru/wp-content/plugins/wp-recall/assets/css/style.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='rcl-users-list-css'  href='http://aff.ru/wp-content/plugins/wp-recall/assets/css/users.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='rcl-register-form-css'  href='http://aff.ru/wp-content/plugins/wp-recall/assets/css/regform.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='cab_15-css'  href='http://aff.ru/style.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='pfm-style-css'  href='http://aff.rru/style.css?ver=4.9.6' type='text/css' media='all' />
<link rel='stylesheet' id='ftf-style-css'  href='http://aff.ru/style.css?ver=4.9.6' type='text/css' media='all' />

'cab_15-css' - это, как понимаю, стиль темы "theme-sunshine", а ниже стили от PrimeForum.

Со скриптами та же беда. Страница форума:

<script type='text/javascript' src='http://aff.ru/wp-content/plugins/wp-recall/assets/js/core.js?ver=16.15.5'></script>
<script type='text/javascript' src='http://aff.ru/wp-content/plugins/wp-recall/assets/js/scripts.js?ver=16.15.5'></script>
<script type='text/javascript' src='http://aff.ru/js/scripts.js?ver=16.15.5'></script>

И в админке на странице настроек форума:

<link rel='stylesheet' id='pfm-admin-style-css'  href='http://aff.ru/admin/style.css?ver=4.9.6' type='text/css' media='all' />
<script type='text/javascript' src='http://aff.ru/admin/js/scripts.js?ver=4.9.6'></script>

Ну и, соответственно, настройки форума скрыты, видимо из-за того, что скрипты не подгружаются...

Плагин и дополнения активировал-деактивировал по несколько раз уже.
В логе PHP ошибок нет.

И аналогичная картина наблюдается не только с форумом, но и со всеми другими активированными дополнениями!

На сервере этих багов нет, все нормально. Но, для разработки архи-нужна локальная версия.

Редакции сообщения
02.06.2018 18:09aleksandr_romanovichПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18647
2
18:49

Здравствуйте.

OpenServer

у таких сборок бывают проблемы с путями. Как победить - не скажу.
У меня на локальном ПК установлен отдельно apache, php, mysql - все работает.
Но интернет завален, как например на denwer (тоже сборка по типу опен сервера) - тоже много проблем с неверным определением путей.

Но я вижу странность:
У вас users.css - грузится с нормальным путём
и regform.css - тоже не выдает 404 - я же верно говорю?

А вот стилевой файл с id id='cab_15-css' выдает неверный путь.
Смотрю в исходник - все они работают через одну функцию rcl_enqueue_style - вот только последний еще принимает аргумент пути rcl_addon_url('style.css', __FILE__) - что наводит на мысль, что у вас проблема с магической константой __FILE__

Вы не можете просматривать опубликованные ссылки

- дебажьте - что у вас в ней. Я бы начал с этого.

На хостинге таких проблем нету - можно на поддомене завести dev-сервер и работать через хостинг. Я сейчас работаю так - потому что часто переезжаю и нужен доступ к рабочему серверу разработки. Я в htaccess по ip открываю для себя доступ и не имею подобных проблем. Может возьмете на вооружение подобный метод.

0
aleksandr_romanovich
не в сети 3 месяца
На сайте с 03.05.2018
Участник
Тем 9
Сообщения 18
3
19:29

Вот сотню лет сидел на Денвере, пару-тройку лет сейчас на OpenServer. Некоторые проблемы иногда были, но решаемые.
Потому, собственно, и пишу, что сам в ступоре - сроду такого не видел 🙂

Но я вижу странность:
У вас users.css - грузится с нормальным путём
и regform.css - тоже не выдает 404 - я же верно говорю?

А вот стилевой файл с id id='cab_15-css' выдает неверный путь.

Ну да, я специально в коде показал и те, и те ссылки. Т.е. криво выдаются только пути у ДОПОЛНЕНИЙ и у темы.

...у вас проблема с магической константой __FILE__...

К сожалению, с ней все ок :). Выдает полный путь к файлу, как и дОлжно. Специально посмотрел. Да и представьте, что бы было, если б она косячила, я думаю, даже вордпресс бы не встал нормально, она же используется, практически, везде.

Смотрю в исходник - все они работают через одну функцию rcl_enqueue_style - вот только последний еще принимает аргумент пути rcl_addon_url('style.css', __FILE__)

Да, тоже одним глазом глянул. Нужно будет теперь "открыть оба глаза", а то решил сначала спросить, вдруг уже кто-то "плавал".
Там же еще будет функция разбора пути и преобразования его в URL... Почему-то уверен, что какая-то мелочь мешает. Должно работать. В общем, придется рыть :(.

Спасибо!

Редакции сообщения
02.06.2018 19:37aleksandr_romanovichПричина: не указано
0
aleksandr_romanovich
не в сети 3 месяца
На сайте с 03.05.2018
Участник
Тем 9
Сообщения 18
4
11:32

Здравствуйте!

Может кому будет интересно, проблему я решил.
Как оказалось, в массиве $active_addons по какой-то причине образовался пустой элемент. Вот так "выглядит" массив при отключенных дополнениях:

Array
(
    [] => 
    [theme-sunshine] => Array
        (
            [name] => Sunshine
            [version] => 0.1
            [support-core] => 15.0.0
            [template] => Sunshine
            [description] => Шаблон личного кабинета
            [author] => Владимир Дружаев, Плечёв Андрей
            [author-uri] => https://codeseller.ru
            [path] => C:/OpenServer/domains/affru/wp-content/plugins/wp-recall/add-on/theme-sunshine
            [priority] => 0
        )

)

Из-за этого пустого элемента функция 'rcl_addon_path' (файл wp-recall/functions/addons.php ) отрабатывает неверно.

Деактивация и повторная активация дополнений (и самого плагина) не помогает. Возможно, помогло бы удаление плагина и повторная установка, но это для меня неприемлемо, т.к. (со слов автора плагина) при удалении чистится база, а у меня там уже форум развернут.

Поэтому пришлось вставить пару строк для проверки существования элементов массива. Ну, и еще немножко изменил код проверки на совпадение (функция 'stristr') т.к., на мой взгляд, в источнике это сделано не совсем корректно, хотя и работало.
В общем, было:

    $paths = array(); $addonPath = false;
    foreach($active_addons as $addonID => $addon){

        if($path == $addon['path']){
            $addonPath = $addon['path']; break;
        }

        if($string = stristr($path,trailingslashit($addon['path']))){
            $paths[strlen($string)] = $addon['path'];
        }

    }

Стало:

    $paths = array(); $addonPath = false;
    foreach($active_addons as $addonID => $addon){

        if($addonID)  {

            if($path == $addon['path']){
                $addonPath = $addon['path']; break;
            }

            if(stristr($path,trailingslashit($addon['path'])) !== FALSE){
                $string = stristr($path,trailingslashit($addon['path']));
                $paths[strlen($string)] = $addon['path'];
            }

        }

    }

И это все 🙂

1
Вы не имеете права на публикацию сообщений в этой теме