Skip to content
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

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

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

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

Featured Replies

Цитата

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

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

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

 

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

  • 4 weeks later...
  • Author

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

В /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);

 

  • Author
Error: Call to undefined method IPS\plugins\plugin\widgets\block.php::getskill() (0)

Ошибка

  • 2 weeks later...

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.