TYPO3 list fe users

From snippet wiki
Jump to navigation Jump to search

These lines append a sorted list of frontend users to the current page. Just add water and the id constants for the folder and the user group.

Constants:

folderid=1304
groupid=6
fachbereichegruppe=9

Setup:

temp.cont = COA
temp.cont.10 < styles.content.get

temp.cont.20 = CONTENT
temp.cont.20 {
  table = fe_users
  wrap = <div id="feusers">|</div>
  select {
    pidInList = {$folderid}
    where = disable=0 AND deleted=0 AND FIND_IN_SET({$groupid},usergroup)
    orderBy = last_name, first_name
  }

  renderObj = COA
  renderObj {
    10 = TEXT
    10.value = <div class="feuser">

    20 = TEXT
    20 {
      wrap = <h3>|&nbsp;
      field = title
    }
    21 = TEXT
    21 {
      wrap = |</h3>
      field = name
    }

    30 = TEXT
    30 {
      wrap = <address>|<br>
      field = address
    }
    31 = TEXT
    31 {
      wrap = |&nbsp;
      field = zip
    }
    32 = TEXT
    32 {
      wrap = |</address>
      field = city
    }

    40 = TEXT
    40 {
      wrap = <div>|</div>
      stdWrap {
        field = www
        typolink {
          parameter.field = www
          extTarget = _blank
          ATagParams = class="feuserlink"
        }
      }
    }

    50 = TEXT
    50 {
      wrap = <div>|</div>
      stdWrap {
        field = email
        typolink {
          parameter.field = email
          ATagParams = class="feuserlink"
        }
      }
    }

    60 = TEXT
    60 {
      wrap = <div>Fachbereiche:<br />|</div>
      required = 1
      stdWrap {
        field = usergroup
        split {
          token = ,
          cObjNum = 1
          1 {
            10 = CONTENT
            10.table = fe_groups
            10.select {
              pidInList = {$folderid}
              where = subgroup={$fachbereichegruppe}
              andWhere.current = 1
              andWhere.wrap = uid=|
            }
            10.renderObj = TEXT
            10.renderObj.field = title
            10.renderObj.noTrimWrap = ||, |
          }
        }
      }
    }

    90 = TEXT
    90.value = </div>
  }
}

page.10.subparts.CONT < temp.cont