2014-09-24 3 views
0

В публичной функции моей модели я называю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();» то это работает ... Я действительно не понимаю, что здесь не так.

ответ

1

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

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

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

  1. сообщений Набор ошибок для «развития» в Joomla (вы используете сайт развития, а не сайт право жить?)
  2. Включите режим DEBUG Joomla!

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

0

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

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

$config = JComponentHelper::getParams(S_APP_NAME); 
$user = JFactory::getUser(); 
Смежные вопросы