Carrier
A search input field for selecting a carrier from the available shipping options. Data can be searched by carrier name. Useful for linking related carriers or adding carrier references in custom forms. This field can be combined with a repeater field to configure carrier 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.
- 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
$carrier = $relationFieldValue->getEntity();
// Return related entity field groups
$carrier = $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($product)}
{assign var="data" value=$modules.customfieldgroups.data->get('product', $product.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('carrier', $idCarrier); // Entity and id
$carrierData = $data['field_group_slug']['field_slug'];
$carrierObject = $carrierData ? $carrierData->getEntity() : null;
$carrierFieldGroups = $carrierData ? $carrierObject->getFieldGroups() : [];
}
