How to use form record in Custom Module - Alekseon/magento2-widget-forms GitHub Wiki

Custom Forms are simple to use by custom modules.

Getting form

Use FormRepository to get form

public function __construct(
    \Alekseon\CustomFormsBuilder\Model\FormRepository $formRepository
)
{
    $this->formRepository = $formRepository;
}

Set Form Identifier to get form entity by FormRepository class:

$form = $this->formRepository->getByIdentifier('example_form');

it is also possible to get form entity by ID:

$form = $this->formRepository->getById($id);

Field Identifier

Set field identifier to use it to filter record collection, getting record, etc.

Record Collection

Use record collection in same way as other magento collections:

$form = $this->formRepository->getByIdentifier('example_form');
$collection =  $form->getRecordCollection();
$collection->addFieldToFilter('my_field_id', 'test');
$collection->addAttributeToSort('my_field_id');
$collection->addAttributeToSelect('my_field_id');

Print out the record collection:

foreach ($collection as $record) {
   echo $record->getData('my_field_id');
}

Get record data

$form = $this->formRepository->getByIdentifier('example_form');
$record = $form->getRecordById($id);
echo $record->getAttribute('my_field_id')->getFrontendLabel();
echo $record->getData('my_field_id');
echo $record->getMyFieldId();
echo $record->getAttributeText('my_field_id');
⚠️ **GitHub.com Fallback** ⚠️