Хукеты в livestreet 1.0

Обработка блока с популярными пользователями на главной странице


class PluginSimpletpl_BlockSimpleUsersTop extends Block {
	public function Exec() {
		$aResult=$this->User_GetUsersRating('good',1,Config::Get('plugin.simpletpl.count_top_users'));

		$this->Viewer_Assign('simpletpl_aUsersTop',$aResult['collection']);
	}
}


Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: GetUsersRating' in C:\web\xampp\htdocs\is\engine\classes\Engine.class.php:597 Stack trace: #0 C:\web\xampp\htdocs\is\engine\classes\Engine.class.php(524): Engine->GetModule('GetUsersRating') #1 C:\web\xampp\htdocs\is\engine\classes\Module.class.php(56): Engine->_CallModule('GetUsersRating', Array) #2 [internal function]: Module->__call('GetUsersRating', Array) #3 [internal function]: ModuleUser->GetUsersRating('good', 1, 10) #4 C:\web\xampp\htdocs\is\engine\classes\Engine.class.php(551): call_user_func_array(Array, Array) #5 C:\web\xampp\htdocs\is\engine\classes\Block.class.php(71): Engine->_CallModule('User_GetUsersRa...', Array) #6 [internal function]: Block->__call('User_GetUsersRa...', Array) #7 C:\web\xampp\htdocs\is\plugins\simpletpl\classes\blocks\BlockSimpleUsersTop.class.php(24): PluginSimpletpl_BlockSimpleUsersTop->User_GetUsersRating('good', 1, 10) #8 C:\web\xampp\htdocs\is\engine\modules\viewer\plugs\insert.block.php(63): Plugin in C:\web\xampp\htdocs\is\engine\classes\Engine.class.php on line 597


почему ошибки?

данные функции это хукет-функции
как использовать хукеты в версии 1? Как активировать тестовый плагин (не найден плагин пишет)?
поскажите что менять чтобы перевести плагин с версии 0.5 на 1.


Буду благодарен всем за разъяснения ошибок и помощи в образовании)

20 комментариев

avatar
Я пытаюсь плагин simple под synio адаптировать.
Помогите, думаю еще много кто захочет его встроить в свой новый проект

Я только рад буду помощи

Сам я не специалист в ЛС, но это поправимо)
Функции getusersrating в api я не нашел
Как вывести пользователей в 1?
avatar
Я только рад буду помощи и советам.
Я тут поискал и не нашел (пока) подробной инструкции для написания плагинов под 1.
Под другие версии есть отличия и есть статьи. Читал. Но это не для новичка.
Так что сильно не пинайте. В этом топике я собираю знания для такой статьи)
avatar
Я совсем не спец по этим делам, но в базе нет переменной users_rating, а есть user_rating, без s, попробуй может GetUserRating
avatar
Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: GetUserRating' in C:\web\xampp\htdocs\is\engine\classes\Engine.class.php:597 Stack trace: #0 C:\web\xampp\htdocs\is\engine\classes\Engine.class.php(524): Engine->GetModule('GetUserRating') #1 C:\web\xampp\htdocs\is\engine\classes\Module.class.php(56): Engine->_CallModule('GetUserRating', Array) #2 [internal function]: Module->__call('GetUserRating', Array) #3 [internal function]: ModuleUser->GetUserRating('good', 1, 10) #4 C:\web\xampp\htdocs\is\engine\classes\Engine.class.php(551): call_user_func_array(Array, Array) #5 C:\web\xampp\htdocs\is\engine\classes\Block.class.php(71): Engine->_CallModule('User_GetUserRat...', Array) #6 [internal function]: Block->__call('User_GetUserRat...', Array) #7 C:\web\xampp\htdocs\is\plugins\simpletpl\classes\blocks\BlockSimpleUsersTop.class.php(24): PluginSimpletpl_BlockSimpleUsersTop->User_GetUserRating('good', 1, 10) #8 C:\web\xampp\htdocs\is\engine\modules\viewer\plugs\insert.block.php(63): PluginSimple in C:\web\xampp\htdocs\is\engine\classes\Engine.class.php on line 597
avatar
никаких изменений
avatar
товарищи помогайте) на общественных началах поднимем)
avatar
эээх, ну тогда не знаю, помог бы с удовольствием, тоже хочу такой плагин. Будем надеяться, что есть кто-то, кто разберется.
avatar
а вы часом не знаете что надо сделать с тестовым плагином чтобы он активировался в шаблоне?

Буду держать сообщество в курсе)
avatar
потому что в 1.0 более нету такой функции, есть фильтр. посмотреть можно в коде для вывода людей
avatar
С ним у меня что-то не заладилось.
GetUsersByFilter?
avatar

      $aGetAllUsers = $this -> User_GetUsersByFilter (
        array ('activate' => 1),
        array ('user_rating' => 'desc'),
        $iPage,
        $iCount
      );
avatar
Спасибо, оказывается все несколько проще и сложнее.
Скажите, а что я не дописал в плагин? Он не проходит активацию.
avatar
Скажите, а что я не дописал в плагин? Он не проходит активацию.
я не телепат
avatar
+ вам в карму
поставим вопрос по другому
что необходимо прописать в тестовый плагин, чтобы он просто активировался через панель админа?
avatar
создать хмл файл и главный класс плагина
за примерами смотреть стандарные плагина (пейдж, профилер) или подглядывать на консоль для создания каркасов плагинов по /енжайн/консоль
avatar
через консоль создал плагин test.
хмл файл создан успешно. все прописал в нем. в главном класе тоже. там два файла sql но это для активации и деактивации с обращением к БД
сам плагин не активируется
avatar
сам плагин не активируется
пишет ошибку и не становится активным в панели упр. плагинами?
avatar
ошибка
avatar
не правильно назвали главный класс плагина, тот, что в корне папки PluginИМЯ_ПЛАГИНА.class.php
avatar
оно генерируется консолью
допустим я создаю плагин test
все файлики подписаны и созданы(структура минимальная)
ничего не меняя плагин не активируется
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.