Dodajemy w ext_tables.php

include_once(t3lib_extMgm::extPath($_EXTKEY).'class.tx_bccprofile_addFieldsToFlexForm.php'); 

Tworzymy w katalogu rozszerzenia plik class.tx_profile_addFieldsToFlexForm.php z klasą generującą listę , np:

<?php
class tx_profile_addFieldsToFlexForm {
 /*
  * pobiera liste grup frontendowych
  */
  function addFieldsUserGroup ($config) {
  $optionList = array();
  //  add first option
  //  $optionList[] = array(0 => 'Żadna grupa', 1 => -1);// żadna grupa tylko indywidualnie
  $optionList[] = array(0 => 'Wszyscy użytkownicy', 1 => 0);// wszyscy użytkownicy
  $optionList[] = array(0 => 'Zalogowany użytkownik', 1 => -2);// użytkownik zalogowany

  $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,title','fe_groups','deleted=0 AND hidden = 0','','');

  while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
    $optionList[] = array(0 => $row['title'], 1 => $row['uid']);
  }

  $config['items'] = array_merge($config['items'],$optionList);
  return $config;
  }
}
?>

Dodajemy nową zakładkę w pliku flexform_ds_pi1.xml

<sUsers>
 <ROOT>
 <TCEforms>
 <sheetTitle>LLL:EXT:profile/locallang_db.php:tt_content.pi_flexform.sheet_user</sheetTitle>
 </TCEforms>
 <type>array</type>
 <el>
 <userGroups>
 <TCEforms>
 <label>LLL:EXT:profile/locallang_db.php:tt_content.pi_flexform.showUser</label>
 <config>
 <type>select</type>
 <size>10</size>
 <maxitems>1000</maxitems>
 <itemsProcFunc>tx_profile_addFieldsToFlexForm->addFieldsUserGroup</itemsProcFunc>
 <multiple>1</multiple>
 <minitems>0</minitems>
 </config>
 </TCEforms>
 </userGroups>
 <indvidualUser>
 <TCEforms>
 <exclude>1</exclude>
 <label>LLL:EXT:profile/locallang_db.php:tt_content.pi_flexform.indvidualUser</label>
 <config>
 <type>group</type>
 <internal_type>db</internal_type>
 <allowed>fe_users</allowed>
 <size>10</size>
 <maxitems>1000</maxitems>
 <minitems>0</minitems>
 <show_thumbs>1</show_thumbs>
 </config>
 </TCEforms>
 </indvidualUser>
 </el>
 </ROOT>
 </sUsers>