How to use form record in Custom Module - Alekseon/magento2-widget-forms GitHub Wiki
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);
|
Set field identifier to use it to filter record collection, getting record, etc.
|
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');
}
$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');