Joomla - вызов функции модели внутри модели

В публичной функции моей модели я называю

$user_type=$this->get_user_type();

В той же модели у меня есть

private function get_user_type()
{
    $user_type='asd';
    $asd_groups = (int)$config->get('asd_groups');
    $ver_groups = (int)$config->get('ver_groups');

    jimport( 'joomla.user.helper' );
    $user_groups=JUserHelper::getUserGroups($user->id);
    if(in_array($asd_groups,$user_groups)){
        $user_type='asd';
    }

    if(in_array($ver_groups,$user_groups)){
        $user_type='ver';
    }

    return $user_type;
}

Сайт дает мне белую страницу, если я прокомментирую вызывающую строку "$this->get_user_type();" тогда это работает... Я действительно не понимаю, что здесь не так.

2 ответа

Решение

Здесь недостаточно информации или кода, чтобы помочь вам... например, где $config откуда и что это? На какой версии Joomla это?

Если $config не определяется как global тогда это может быть источником проблемы в зависимости от вашей настройки PHP.

Вещи, которые вы можете сделать, чтобы помочь себе найти проблему, в глобальной конфигурации Joomla.

  1. Установите сообщения об ошибках на "Разработка" в Joomla (вы используете сайт разработки, а не живой сайт, верно?)
  2. Включите режим отладки Joomla

Затем обновите свой вопрос, указав подробности сообщений об ошибках, версию Joomla и где этот код работает (вы говорите, ваша модель) и где $config идет от.

Да, конечно! Я пропустил две переменные конфигурации, когда я переместил код из функции в выделенную функцию.

Я скопировал эти две строки в первый ряд функции, и теперь она работает!

$config = JComponentHelper::getParams(S_APP_NAME);
$user = JFactory::getUser ();
Другие вопросы по тегам