Joomla 3 在用户组模块中列出用户

Joomla 3 Lis users in usergroup module

有人知道这样的模块吗?

基本上,我想使用 loadmodule 选项在文章中动态加载某些用户组中的用户。

我不知道有这样的扩展,但您可以使用 Sourcerer 或类似的方法在自定义 HTML 模块中包含一些代码以获得所需的结果。

然后可以使用 loadmodule 在文章中显示自定义 HTML 模块。

有关示例代码,请参阅:

最终建立了自己。

修改文件:

<?php

defined('_JEXEC') or die;

// Include the latest functions only once
require_once __DIR__ . '/helper.php';

$shownumber         = $params->get('shownumber', 10);
$groupnumber        = $params->get('group', 4);

$names              = ModUsersUsergroupHelper::getUsers($params);

$moduleclass_sfx    = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');

require JModuleHelper::getLayoutPath('mod_users_usergroup', $params->get('layout', 'default'));

帮手:

<?php

defined('_JEXEC') or die;

/**
 * Helper for mod_users_usergroup
 *
 * @package     Joomla.Site
 * @subpackage  mod_users_usergroup
 *
 * @since       1.6
 */

class ModUsersUsergroupHelper
{

/**
 * Get users in a certain usergroup
 *
 * @param   \Joomla\Registry\Registry  $params  module parameters
 *
 * @return  array  The array of users
 *
 * @since   1.6
 */

public static function getUsers($params)
{

    $db         = JFactory::getDbo();

    $groupId    = $params->get('group', 2);

    $query      = $db->getQuery(true)
        ->select($db->quoteName(array('u.id', 'u.name', 'u.username', 'u.registerDate')))
        ->order($db->quoteName('u.registerDate') . ' DESC')
        ->from('#__users AS u')
        ->join('INNER', '#__user_usergroup_map AS ugm ON ugm.user_id = u.id')
        ->where('ugm.group_id =' . $db->quote($groupId));

    $db->setQuery($query, 0, $params->get('shownumber'));

    try
    {

        return (array) $db->loadObjectList();

    }

    catch (RuntimeException $e)
    {

        JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

        return array();

            }

        }

}