Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 833 Просмотров
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Приветствую.
Хочу добавить данные в "Менеджер пользователей: Пользователи" дополнительную информацию, которую вытягиваю из #__user_profiles. Но ни один $dispatcher->trigger в списке пользователей недоступен.
Что делать?
Как сделать?
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Хочу добавить данные в "Менеджер пользователей: Пользователи" дополнительную информацию

Добавить поля в форму можно с помощью content плагина и его функции onContentPrepareForm
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Добавить поля в форму можно с помощью content плагина и его функции onContentPrepareForm
Через системный удобнее в форму влезать, чтобы потом не путать где что
Приветствую.
Хочу добавить данные в "Менеджер пользователей: Пользователи" дополнительную информацию, которую вытягиваю из #__user_profiles. Но ни один $dispatcher->trigger в списке пользователей недоступен.
Что делать?
Как сделать?
Я бы начал с вопроса для чего делать.
Если плагином то вот пример Собственный параметр в общих настройках J3 вот статья https://septdir.ru/blog/web/joomla-add-fileds-to-form.html
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Я бы начал с вопроса для чего делать.
В идеале добавить колонку в таблицу пользователей (список пользователей). Еще идеальнее с возможности сортировки. Но, можно ограничиться дополнительной кнопкой возле Имени и "Создать заметку".
Но это в списке пользователей. Добавление полей через #__user_profiles вопросов не вызвало.
Кстати, если кому надо. Я отслеживаю работу $dispatcher->trigger вот этим кодом, который вставляю в любой плагин. Надо только отследить, чтобы функции не повторялись. Он формирует в папочке tmp файлы, в которые складывает имена затребованных функций. Может это и геморойно и не "профессионально" но мне помогает.
Код
function onCategoryChangeState($extension,$pks,$value){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCategoryChangeState\n",FILE_APPEND);}
function onCodeMirrorAfterDisplay($displayData){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCodeMirrorAfterDisplay\n",FILE_APPEND);}
function onCodeMirrorAfterInit($params){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCodeMirrorAfterInit\n",FILE_APPEND);}
function onCodeMirrorBeforeDisplay($displayData){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCodeMirrorBeforeDisplay\n",FILE_APPEND);}
function onCodeMirrorBeforeInit($params){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCodeMirrorBeforeInit\n",FILE_APPEND);}
function onContentAfterDelete($context,$table){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentAfterDelete\n",FILE_APPEND);}
function onContentAfterDisplay($extension,$item,$params,$offset){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentAfterDisplay\n",FILE_APPEND);}
function onContentAfterSave($context,$table,$isNew){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentAfterSave\n",FILE_APPEND);}
function onContentAfterTitle($extension,$item,$params,$offset){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentAfterTitle\n",FILE_APPEND);}
function onContentBeforeDelete($context,$table){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentBeforeDelete\n",FILE_APPEND);}
function onContentBeforeDisplay($extension,$item,$params,$offset){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentBeforeDisplay\n",FILE_APPEND);}
function onContentBeforeSave($context,$table,$isNew){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentBeforeSave\n",FILE_APPEND);}
function onContentChangeState($context,$table,$value){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentChangeState\n",FILE_APPEND);}
function onContentPrepare($context,$item,$params,$offset){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentPrepare\n",FILE_APPEND);}
function onContentPrepareData($context,$data){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentPrepareData\n",FILE_APPEND);}
function onContentPrepareForm($form,$data){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentPrepareForm\n",FILE_APPEND);}
function onContentSearch($keyword,$match,$ordering,$active){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentSearch\n",FILE_APPEND);}
function onContentSearchAreas(){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentSearchAreas\n",FILE_APPEND);}
function onCustomFieldsAfterPrepareField($context,$item,$field,$value){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCustomFieldsAfterPrepareField\n",FILE_APPEND);}
function onCustomFieldsBeforePrepareField($context,$item,$field){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCustomFieldsBeforePrepareField\n",FILE_APPEND);}
function onCustomFieldsPrepareField($context,$item,$field){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onCustomFieldsPrepareField\n",FILE_APPEND);}
function onExtensionAfterInstall($installer,$result){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionAfterInstall\n",FILE_APPEND);}
function onExtensionAfterSave($context,$table,$isNew){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionAfterSave\n",FILE_APPEND);}
function onExtensionAfterUninstall($installer,$identifier,$result){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionAfterUninstall\n",FILE_APPEND);}
function onExtensionAfterUpdate($installer,$result){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionAfterUpdate\n",FILE_APPEND);}
function onExtensionBeforeInstall($method,$type,$manifest,$extension){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionBeforeInstall\n",FILE_APPEND);}
function onExtensionBeforeSave($context,$table,$isNew){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionBeforeSave\n",FILE_APPEND);}
function onExtensionBeforeUninstall($identifier){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionBeforeUninstall\n",FILE_APPEND);}
function onExtensionBeforeUpdate($type){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionBeforeUpdate\n",FILE_APPEND);}
function onFinderAfterDelete($context,$article){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onFinderAfterDelete\n",FILE_APPEND);}
function onFinderAfterSave($context,$article,$isNew){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onFinderAfterSave\n",FILE_APPEND);}
function onFinderBeforeSave($context,$article,$isNew){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onFinderBeforeSave\n",FILE_APPEND);}
function onFinderCategoryChangeState($extension,$pks,$value){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onFinderCategoryChangeState\n",FILE_APPEND);}
function onFinderChangeState($context,$pks,$value){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onFinderChangeState\n",FILE_APPEND);}
function onGetStatsData($data){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onGetStatsData\n",FILE_APPEND);}
function onInstallerAfterInstaller($this_,$package,$installer,$result,$msg){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onInstallerAfterInstaller\n",FILE_APPEND);}
function onInstallerBeforeDisplay($showJedAndWebInstaller,$this_){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onInstallerBeforeDisplay\n",FILE_APPEND);}
function onInstallerBeforeInstallation($this_,$package){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onInstallerBeforeInstallation\n",FILE_APPEND);}
function onInstallerBeforeInstaller($this_,$package){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onInstallerBeforeInstaller\n",FILE_APPEND);}
function onInstallerBeforePackageDownload($url,$headers){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onInstallerBeforePackageDownload\n",FILE_APPEND);}
function onPrepareFinderContent($item){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onPrepareFinderContent\n",FILE_APPEND);}
function onSubmitContact($contact,$data){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onSubmitContact\n",FILE_APPEND);}
function onUserAfterDelete($getProperties){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserAfterDelete\n",FILE_APPEND);}
function onUserAfterDeleteGroup($param1,$param2,$param3){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserAfterDeleteGroup\n",FILE_APPEND);}
function onUserAfterSave($getProperties){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserAfterSave\n",FILE_APPEND);}
function onUserAuthorisation($response,$options){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserAuthorisation\n",FILE_APPEND);}
function onUserBeforeDataValidation($form,$data){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserBeforeDataValidation\n",FILE_APPEND);}
function onUserBeforeDelete($getProperties){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserBeforeDelete\n",FILE_APPEND);}
function onUserBeforeDeleteGroup($param1){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserBeforeDeleteGroup\n",FILE_APPEND);}
function onUserBeforeSave($getProperties){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onUserBeforeSave\n",FILE_APPEND);}
function onValidateContact($contact,$data){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onValidateContact\n",FILE_APPEND);}
function onExtensionAfterDelete($context,$table){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionAfterDelete\n",FILE_APPEND);}
function onExtensionBeforeDelete($context,$table){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onExtensionBeforeDelete\n",FILE_APPEND);}
function onContentCleanCache($defaultgroup,$cachebase){$jconfig=JFactory::getConfig();file_put_contents($jconfig->get('tmp_path')."/".date("Ymd_H-i-s"),"onContentCleanCache\n",FILE_APPEND);}
*

burunduchok

  • Захожу иногда
  • 106
  • 8 / 0
Решил через jquery и AJAX.
Вставил функцию в свой системный плагин
Код
function onContentPrepareForm($form,$data)
{
$document = JFactory::getDocument();
$document->addScript('../plugins/system/my/js/my.js');
}
Я нашел только этот работающий тригер на странице списка пользователей.
А затем jquery из подгружаемого JS-файла проходиться по всех input-ах где name="cid[]" и выдирает оттуда id пользователей из value.
Отправляет на тот же плагин по AJAX все найденные id пользователей, обратно получает результат в json и выводит его после каждого ранее найденного input-а.
Не совсем красиво получается, но мне надо вывести всего пару циферок для информации.
В общем мне хватает.
Если у вас будут другие решения, без JS, я скажу спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться