Important
You are browsing the documentation for version 4.2 of OroCommerce, OroCRM and OroPlatform, which is no longer maintained. Read version 5.1 (the latest LTS version) of the Oro documentation to get up-to-date information.
See our Release Process documentation for more information on the currently supported and upcoming releases.
UI DataBlock Config Overview¶
This functionality adds the ability to configure DataBlocks for the UI component inside FormType instead of the template.
Configure Block in Template¶
update.html.twig
{% set dataBlocks = [{
'title': 'First Block',
'class': '',
'subblocks': [
{
'title': '',
'data': [
form_row(form.name),
form_row(form.age)
]
},
{
'title': 'Email SubBlock',
'data': [
form_row(form.email),
]
}
]
}]
%}
Configure Block in FormType¶
class UserType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', TextType::class, ['block' => 'first']);
$builder->add('age', IntegerType::class, ['block' => 'first', 'subblock' => 'first']);
$builder->add('email', EmailType::class, ['block' => 'second']);
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(
[
'block_config' => [
'first' => [
'priority' => 2,
'title' => 'First Block',
'subblocks' => [
'first' => [],
'second' => [
'title' => 'Email SubBlock'
],
],
],
],
]
);
}
}
{% set dataBlocks = form_data_blocks(form) %}
‘block’ - the code of a block.
If a block is not configured in ‘block_config’, a block will be created. If a block title is not configured in ‘block_config’, title of block will be the same as the code. If form type filed options do not have a ‘block’ attribute, this field will be ignored.
‘sub-block’ - the code of a sub-block.
If a sub-block is not configured in ‘block_config’, a subBlock will be created. If form type filed options do not have a ‘sub-block’ attribute, this field will be added to the first sub-block in the block.
If ‘sub-block’ is configured but ‘block’ is not configured, the field will be ignored.
‘block_config’ is an optional attribute.
This attribute contains the config for the block and sub-block (title, class, sub-blocks).