Repository URL to install this package:
|
Version:
1.3.0 ▾
|
<?php
namespace Drupal\custom_forms\LazyBuilder;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Language\LanguageInterface;
use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\custom_forms\Entity\CustomForm;
class CustomFormLazyBuilder {
/**
* @var \Drupal\Core\Entity\EntityViewBuilderInterface
* The view builder for custom forms.
*/
protected $viewBuilder;
/**
* @var \Drupal\Core\Language\LanguageManagerInterface
* The language manager.
*/
protected $languageManager;
public function __construct(EntityTypeManagerInterface $entity_type_manager, LanguageManagerInterface $language_manager) {
$this->viewBuilder = $entity_type_manager->getViewBuilder('custom_form');
$this->languageManager = $language_manager;
}
public function generateCustomForm($form_id) {
// If for some reason the form id is not included, we return nothing.
if (empty($form_id)) {
return [];
}
$current_language = $this->languageManager->getCurrentLanguage(LanguageInterface::TYPE_CONTENT);
/** @var \Drupal\custom_forms\CustomFormInterface $custom_form */
$custom_form = CustomForm::load($form_id);
$build = $this->viewBuilder->view($custom_form, 'full', $current_language->getId());
return $build;
}
}