Joomla 1.5 Fatal error: Call to a member function redirect() on a non-object in /usr/local/www/data-dist/admini

Тема в разделе "Программирование", создана пользователем rw4lll, 24.04.2009.

  1. Offline

    rw4lll Недавно здесь

    Регистрация:
    11.03.2009
    Сообщения:
    3
    Симпатии:
    0
    Здраствуйте, переход на j1.5 заставил переделать один компонент, а именно com_tv коего не существует под эту версию. В принципе получается, но возникают некоторые траблы.
    Сейчас мучаюсь с такой проблемой:
    в исходном файле была функция mosRedirect(String $url,String $msg);
    я ее заменил на $mainframe->redirect(String $url,String $msg);
    на что он мне пишет Fatal error: Call to a member function redirect() on a non-object in /usr/local/www/data-dist/administrator/components/com_tv/admin.tv.php on line 793
    вот собственно этот кусок кода:
    if ($fp = fopen("$configfile", "w")) {
    fputs($fp, $config, strlen($config));
    fclose ($fp);
    @chmod ($configfile, 0711);
    }
    $mainframe->redirect("index2.php?option=$option&task=settings", '_TV_ADMIN_SAVE_SUCCESS ');

    }
    Может быть у кого то есть идеи?:)
     
  2.  
  3. Offline

    rw4lll Недавно здесь

    Регистрация:
    11.03.2009
    Сообщения:
    3
    Симпатии:
    0
    Re: Fatal error: Call to a member function redirect() on a non-object in /usr/local/www/data-dist/administrator/components/com_tv/admin.tv.php on line

    Пока ждал ответа и попутно разбирался в проблеме, решил для себя эту загадку:)
    Все дело было в том, что в функции надо было $mainframe объявить глобально, вот так:
    global $mainframe;
    Я так понял связано с тем, что mainframe надо объявлять глобально, а для mosRedirect из j1.0 этого не требовалось.
    Возможно пригодиться тем кто столкнется с той же проблемой:)
     
  4. Dead Krolik
    Offline

    Dead Krolik Недавно здесь => Cпециалист <=

    Регистрация:
    13.04.2007
    Сообщения:
    3 685
    Симпатии:
    101
    Пол:
    Мужской
    Re: Fatal error: Call to a member function redirect() on a non-object in /usr/local/www/data-dist/administrator/components/com_tv/admin.tv.php on line

    Почти что так. Можно и через глобал, а можно и через singlet получить от API.
     

Поделиться этой страницей

Загрузка...