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.
- Установите сообщения об ошибках на "Разработка" в Joomla (вы используете сайт разработки, а не живой сайт, верно?)
- Включите режим отладки Joomla
Затем обновите свой вопрос, указав подробности сообщений об ошибках, версию Joomla и где этот код работает (вы говорите, ваша модель) и где $config
идет от.
Да, конечно! Я пропустил две переменные конфигурации, когда я переместил код из функции в выделенную функцию.
Я скопировал эти две строки в первый ряд функции, и теперь она работает!
$config = JComponentHelper::getParams(S_APP_NAME);
$user = JFactory::getUser ();