Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
HooLIGUN

Функции плагинов

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

Добрый день. Пробую писать небольшие плагины. Элементы стилей вроде понял как вставлять.

Подскажите, как например, получить какую либо информацию о пользователе, обработать ее какой нибудь своей функцией и вывести результат в какой нибудь шаблон?

Например взять $member->steam,  написать функцию конвертирования, вставить эту функцию в хук (кода? стиля?) и в хуке стиля вывести результат конвертирования, например {convert($member->steam)} и получить результат данной функции

Поделиться сообщением


Ссылка на сообщение
Цитата

Подскажите, как например, получить какую либо информацию о пользователе, обработать ее какой нибудь своей функцией и вывести результат в какой нибудь шаблон?

Попробуйте так:

\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'plugins', 'core', 'global' )->yourTemplatePluginName($var1, $var2) );

 

А так по плагинам помогает раздел в документации для разработчиков - Complete example of a plugin in IPS Community Suite

Поделиться сообщением


Ссылка на сообщение

Смотрите, пишу например виджет.

В /plugins/plugname/widgets/plugkey.php 

в функции public function render() сделал запрос к бд

$sql="SELECT * FROM `stats`.`users`";
$get_users = \IPS\Db::i()->query($sql);
return $this->output($get_users);

в /plugins/hlstatstop/dev/html/plugkey.phtml

<ips:template parameters="$get_users,$orientation='vertical'" />
{{foreach $get_users as $users}}
{$users['score']}
{{endforeach}}

Например, хочу создать и использовать функцию 

function score_info ($score) 
{
  if ($score == 0) 
  {
      $score_data = 'Плохо';
  }
  elseif ($score >= 10 && $score <= 19) 
  {
      $score_data = 'Средне';
  }
  elseif ($score >= 20 && $score <= 30) 
  {
  $score_data = 'Хорошо';
  }
return $score_data;
}

Как мне применить функцию score_info() для $users['score'] ?

Эту функцию можно использовать с помощью условий, но это только пример, по факту функция сложнее. Хочу разобраться, как использовать функции в плагинах, виджетах.

Поделиться сообщением


Ссылка на сообщение

Самый простой вариант в этом случае написать функцию в самом виджете, и вызывать ее там, а в шаблон передать готовые данные.

$sql="SELECT * FROM `stats`.`users`";
$get_users = iterator_to_array( \IPS\Db::i()->query($sql) );

foreach($get_users as &$user){
	$user['score_info'] = $this->score_info( $user['score'] );
}
unset($user);

return $this->output($get_users);

 

Поделиться сообщением


Ссылка на сообщение
Error: Call to undefined method IPS\plugins\plugin\widgets\block.php::getskill() (0)

Ошибка

Поделиться сообщением


Ссылка на сообщение

Кусок кода покажите. Что за метод там вызывается?

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...