Я разрабатываю сайт вакансий для клиента, где он должен иметь возможность зарегистрировать своего пользователя как «Работодателя» или «Соискателя».Как и в новой Joomla, у нас есть разные уровни доступа, и я хочу, чтобы пользователи могли выбирать группу пользователей через раскрывающееся поле при регистрации.
Пока я работал над этим, я обнаружил, что вы можете добавить настраиваемые поля.к форме.Поэтому я добавил следующий код в "/ joomla / components / com_users / models / forms / registration.xml"
<field
name="usertype"
type="groups"
id="usertype"
/>
fieldtype "groups" - это определенный в Joomla тип поля под "/ joomla / library / joomla / form / fields /"
Но проблема в том, что он отображается как раскрывающийся список со всеми группами пользователей, включая «Администратор» и «Суперпользователи».
однако мне бы хотелось, чтобы отображались только пользовательские группы пользователей, которые являются «Работодателем» и «Соискателем»
Ниже приведена некоторая информация, которая может потребоваться: Версия Joomla: 1.6 Версия PHP: 5.3Apache Server: 2.2.11
Код для поля «Группы»:
protected function _getOptions()
{
// Get a database object.
$db = &JFactory::getDbo();
// Get the user groups from the database.
$db->setQuery(
'SELECT a.id AS value, a.title AS text, COUNT(DISTINCT b.id) AS level' .
' FROM #__usergroups AS a' .
' LEFT JOIN `#__usergroups` AS b ON a.lft > b.lft AND a.rgt < b.rgt' .
' GROUP BY a.id' .
' ORDER BY a.lft ASC'
);
$options = $db->loadObjectList();
// Pad the option text with spaces using depth level as a multiplier.
for ($i=0,$n=count($options); $i < $n; $i++) {
$options[$i]->text = str_repeat('- ',$options[$i]->level).$options[$i]->text;
}
// Merge any additional options in the XML definition.
//$options = array_merge(parent::_getOptions(), $options);
return $options;
}
Я также попытался отредактировать вышеуказанное поле, добавив
'WHERE id >=10'
Но затем выпадающий списокзагружает без вариантов.и да, идентификаторы в таблицах Mysql для пользовательских групп - 10 и 11.
Может кто-нибудь помочь с быстрым обходом или решением по этому вопросу.Ваше время и помощь очень ценятся.Спасибо
- Расти -