1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

DJ Classifieds Ошибка при открытии объявления

Discussion in 'Вопросы по расширениям Joomla [тех. поддержка]' started by xavier13, Jun 20, 2015.

Thread Status:
Not open for further replies.
  1. xavier13

    xavier13 Опытный складчик

    Joined:
    May 9, 2015
    Messages:
    36
    Likes Received:
    8
    Сайт estate.4need.ru работает на joomla 3.4.1, где стоит шаблон joomla-monster joomads последней версии. Сам сайт расположен на хостинге beget.ru, где для сайта указан php версии 5.5 в панели управления. Проблема заключается в следующем - при открытии любого объявления созданного в компоненте DJ Classifieds 3.3 выходит белый экран с ошибкой:
    Notice: Trying to get property of non-object in /home/a/adngroup/estate.4need.ru/public_html/templates/jm-joomads-ef4/html/com_djclassifieds/item/default.php on line 65 Fatal error: Call to a member function get() on a non-object in /home/a/adngroup/estate.4need.ru/public_html/templates/jm-joomads-ef4/html/com_djclassifieds/item/default.php on line 65
    По указанной строке расположен блок кода, касающийся суффикса страницы, как я понимаю.
    Code:
    $pageclass_sfx ='';
        if($Itemid){
            $menu_item = $app->getMenu()->getItem($Itemid);
            $pc_sfx = $menu_item->params->get('pageclass_sfx');
            if($pc_sfx){$pageclass_sfx =' '.$pc_sfx;}
        }
    Отследить когда возникла проблема нет возможности. Однозначно раньше все было хорошо, думаю что где то недели две назад еще все открывалось нормально. Строки, указанные в ошибке, не редактировал. Основные изменения производимые за последний период касались стилей css. Если что-то еще необходимо указать, обязательно укажу.
    #1
  2. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    попробуйте заменить $app на JFactory::getApplication() - тогда должно быть все ок
    #2
    modern.po likes this.
  3. xavier13

    xavier13 Опытный складчик

    Joined:
    May 9, 2015
    Messages:
    36
    Likes Received:
    8
    Не помогло. Ошибка стоит на строчке
    PHP:
    $pc_sfx $menu_item->params->get('pageclass_sfx');
    #3
  4. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    а ок тогда попробуйте заменить эту строчку на
    $params = new JParameter($menu_item->params);
    $pc_sfx = $params->get('pageclass_sfx');
    #4
    modern.po likes this.
  5. xavier13

    xavier13 Опытный складчик

    Joined:
    May 9, 2015
    Messages:
    36
    Likes Received:
    8
    Не помогло. Фатальная ошибка
    Code:
    Fatal error: Class 'JParameter' not found in /home/a/adngroup/estate.4need.ru/public_html/templates/jm-joomads-ef4/html/com_djclassifieds/item/default.php on line 65 
    Я в целом в недоумении. Столько времени работало, и только сейчас я узнал, что белый экран на объявлении. Еще заметил, при открытии какой либо категории страница работает но у компонента лезет ошибка
    Code:
    Notice: Undefined variable: pc_sfx in /home/a/adngroup/estate.4need.ru/public_html/components/com_djclassifieds/views/items/tmpl/default_cat.php on line 62 
    Если посмотреть она тоже ведет на похожий блок
    PHP:
    if($Itemid){       
        
    $menu_item $app->getMenu()->getItem($Itemid);
        if(
    $menu_item){
            
    $pc_sfx $menu_item->params->get('pageclass_sfx');
        }   
        if(
    $pc_sfx){$pageclass_sfx =' '.$pc_sfx;}   
    }
    #5
  6. xavier13

    xavier13 Опытный складчик

    Joined:
    May 9, 2015
    Messages:
    36
    Likes Received:
    8
    Сейчас через панель хостинг вернул копию от 10 июня. Объявление отображается. Неужели я какими то действиями испортил работу функции? Путем экспериментов выяснил, что изменение файлов вряд ли могло стать причиной "поломки". Расклад таков, что:
    файлы рез.копии от 19 июня с БД от 12 июня - объявления работают.
    файлы рез.копии от 12 июня с БД от 19 июня - объявления не работают.
    файлы рез.копии от 19 июня с БД от 19 июня - объявления не работают.
    файлы рез.копии от 12 июня с БД от 12 июня - объявления работают.
    Метод конечно не стандартный, но получается что в бд от 19 июня есть какие то настройки, которые портят ситуацию, а в БД от 10 июня с объявлениями все норм.
    На данный момент также стало ясно, что при отключенной оптимизации компонента sh404sef объявления заработали (в версии от 19 июня, в версии от 12 июня работает и с включенным sh404sef). В какую сторону копать даже ума не приложу, чтобы все работало при включенном sh404sef в последней резервной копии.
    Last edited: Jun 20, 2015
    #6
  7. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    если скините под хайдом бекап обоих бд я найду какая настройка sh404sef вызывает ошибку

    я сразу не знал что вы sh404sef используете - теперь понятно что происходит - у вас пункт меню через апи возвращает пустоту из-за sh404sef - попробуйте для теста в sh404sef пересоздать или просто удалить записи о странице на которой ошибка


    в целом если не сильно важно то лучше видимо использовать к-бо другой сеф компонент - поддерживающий djclassifieds - например https://miwisoft.com/downloads/mijosef/extensions/dj-classifieds-mijosef


    в самом крайнем случае можно просто закомментировать в коде строчки с ошибками - там по сути ничего сильно важного - pageclass_sfx видимо для класса страницы используется и по сути можно отказаться от этого.
    #7
  8. xavier13

    xavier13 Опытный складчик

    Joined:
    May 9, 2015
    Messages:
    36
    Likes Received:
    8

    Я только не могу понять, может я все таки что то испортил где то. Просто сейчас я тестирую Artio JoomSef, который заявлен как поддерживаемый для DJ Classifieds, так он тоже проблемы выдает при просмотре объявления - через пару секунд после того, как объявление загружено, происохдит редирект, и получается что то наподобие iframe в котором загружается еще раз вся страница только с 404 ошибкой.
    На данный момент вернул sh404Sef, закомментировал блок с суффиксом. Да все заработало. Если этот блок не критичен вовсе,то так и оставлю. Но все же не понятно. Жаль, что плагин для MijoSef нельзя достать бесплатно. Один человек, создав сайт на DJ Classifieds, рекомендует именно его.
    Last edited: Jun 21, 2015
    #8
  9. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    ок, я глянул базы - у вас там все ок, но я бы попробовал пересоздать ссылки для djclassifieds в sh404sef - у вас там что-то странное с пунктом меню - Itemid=0 такого быть не должно возможно в этом ошибка...

    если не поможет просто закомментируйте строчки с ошибками и все будет ок.
    #9
  10. xavier13

    xavier13 Опытный складчик

    Joined:
    May 9, 2015
    Messages:
    36
    Likes Received:
    8
    Прочистил ссылки. Они приобрели немного странный вид. Например, категория Жилая недвижимость в УРЛ просто имеет цифру. Но объявления заработали. Ладно буду смотреть и буду впредь осторожнее. Если вспомнить, проблемы появились после того, когда 12 июня я узнал о некоторых аспектах сео-оптимизации от одного человека. И 15 июня, производя подгонку сайта под них, похоже что то испортил, хоть и помню, что чего то опасного не делал. В любом случае, огромное спасибо.
    Я думаю что можно тему закрывать.
    #10
    modern.po likes this.
Thread Status:
Not open for further replies.