Перейти к содержимому
Русский язык для Invision Community 5

Undefined index в widget configuration

Здравствуйте. Восстанавливаю приложение, подзабил на разработку, а тут вышла 4.4.

 

Ошибка:

 

Whoops\Exception\ErrorException: Undefined index: ActiveGamesWidgetType (8)

 

Функции в виджете:

 

	public function configuration( &$form=null )
{
		if ( $form === null )
	{
 		$form = new \IPS\Helpers\Form;
		}


	$form->add( new \IPS\Helpers\Form\Radio( 'ActiveGamesWidgetType', isset( $this->configuration['ActiveGamesWidgetType'] ) ? $this->configuration['ActiveGamesWidgetType'] : '', TRUE, array( 'options' => array(
		-1	=> 'Лобби && Игры',
		0	=> 'Игры',
		1	=> 'Лобби',
	) ) ) );

		return $form;
	} 

 

	public function render()
{
	$games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist(
		$this->configuration['ActiveGamesWidgetType']);

	return $this->output(
		$games
}

 

Я так понимаю, нужно ISSET добавить, но он добавлен, что не так?

Рекомендованные сообщения

В седьмой версии появился оператор объединение с null - ??.

Удобный оператор в случаях когда переменная не объявлена и надо использовать функция isset, заметно сокращает код.

 

$ids = explode( ',', isset( $groups[ $id ] ) ? $groups[ $id ] : '' );

Объединение с null

 

$ids = explode( ',', $groups[ $id ] ?? '' );

 

 

if( !isset( $groups[ $id ] ) OR $groups[ $id ] != 2 )

Объединение с null

 

if( ( $settings[ $id ] ?? '' ) != 2 )

 

 

$games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist(isset($this->configuration['ActiveGamesWidgetType']) ? $this->configuration['ActiveGamesWidgetType'] : '');

Объединение с null

 

$games = \IPS\wc3\ActiveGames\ActiveGames::getGamelist($this->configuration['ActiveGamesWidgetType'] ?? '');

  • Автор

Спасибо, сейчас проснусь - ознакомлюсь )

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.