Skip to main content

Employee

A search input field for selecting an employee from the staff list. Data can be searched by employee name or email. Useful for linking related employees or adding employee references in custom forms. This field can be combined with a repeater field to configure employee lists.

Screenshots

Field render in form:

field preview

Field render in field group:

field preview

Configuration

  • Settings:

    • Name: The label for the field.
    • Slug: The unique technical identifier.
    • Exclude disabled: Option to exclude disabled categories from the search results.
    • Groups: Option to filter employees by specific groups.
  • Validation:

    • Require: Determines if the field must be filled out.
  • Design:

    • Instructions: Text displayed alongside the field providing details about the data needed.
    • Width: The width of the field in the form.
    • Classes: Custom CSS classes for styling the field.
    • ID: Custom ID attribute for the field.
    • Text before: Additional text displayed before the field.
    • Text after: Additional text displayed after the field.

Return format

  • Type: Object (RelationFieldValue) or null
  • Object methods:
// Return related entity object
$employee = $relationFieldValue->getEntity();

// Return related entity field groups
$fieldGroups = $relationFieldValue->getFieldGroups();
info

The field value returns an object instead of an array to perform lazy loading of sub-values (object, field groups, and presenter for certain entities) and ensure process performance.

Usage

/some-template.tpl
{* Object or Entity and Id *}
{assign var="data" value=$modules.customfieldgroups.data->get($employee)}
{assign var="data" value=$modules.customfieldgroups.data->get('employee', $employee.id)}

{if $data.field_group_slug.field_slug}
<span>{$data.field_group_slug.field_slug->getEntity()->id}</span>

{* Entity related field groups *}
{assign var="entity_field_groups" value=$data.field_group_slug.field_slug->getFieldGroups()}
<span>{entity_field_groups.field_group_slug.field_slug}</span>
{/if}
/SomeClass.php
function someMethod()
{
$dataRetriever = DataRetrieverFacade::getInstance();

$data = $dataRetriever->get($object); // Object
$data = $dataRetriever->get('product', $idProduct); // Entity and id

$employeeData = $data['field_group_slug']['field_slug'];
$employeeObject = $employeeData ? $employeeData->getEntity() : null;
$employeeFieldGroups = $employeeData ? $employeeData->getFieldGroups() : [];
}