Customer
A search input field for selecting a user from the customer base. Data can be searched by user name or email. Useful for linking related users or adding user references in custom forms. This field can be combined with a repeater field to configure user lists.
Screenshots
Field render in form:
Field render in field group:
Configuration
- Settings:
- Name: The label for the field.
- Slug: The unique technical identifier.
- Exclude disabled: Option to exclude disabled categories from the search results.
- Genders: Option to filter users by gender.
- Groups: Option to filter users by specific customer 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
$customer = $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($customer)}
{assign var="data" value=$modules.customfieldgroups.data->get('customer', $customer.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
$customerData = $data['field_group_slug']['field_slug'];
$customerObject = $customerData ? $customerData->getEntity() : null;
$customerFieldGroups = $customerData ? $customerData->getFieldGroups() : [];
}
