You are here

public function HumansTxtAdminSettingsForm::buildForm in Humans.txt 8

Same name and namespace in other branches
  1. 2.x src/Form/HumansTxtAdminSettingsForm.php \Drupal\humanstxt\Form\HumansTxtAdminSettingsForm::buildForm()

Build the Humans.txt Config form.

A build form method constructs an array that defines how markup and other form elements are included in an HTML form.

Parameters

array $form: Default form array structure.

\Drupal\Core\Form\FormStateInterface $form_state: Object containing current form state.

Return value

array The render array defining the elements of the form.

Overrides ConfigFormBase::buildForm

File

src/Form/HumansTxtAdminSettingsForm.php, line 55

Class

HumansTxtAdminSettingsForm
Class HumanstxtAdminSettingsForm implements the Humanstxt Settings Form.

Namespace

Drupal\humanstxt\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {

  // Getting the config default values.
  // Always last values or initial by default if post install.
  $config = $this
    ->config('humanstxt.settings');
  $content = $config
    ->get('content');
  $display_link = $config
    ->get('display_link');

  // Building the Form.
  $form['humanstxt_about'] = [
    '#type' => 'item',
    '#markup' => $this
      ->t('Add here the information about the different
                   people who have contributed to building the website, you can
                   find more info in <a href="@humanstxt">humanstxt.org</a> and
                   use <a href="@humanstxt_file">this file</a> as base file.', [
      '@humanstxt' => 'http://humanstxt.org',
      '@humanstxt_file' => 'http://humanstxt.org/humans.txt',
    ]),
  ];
  $form['humanstxt_content'] = [
    '#type' => 'textarea',
    '#title' => $this
      ->t('Content of Humans.txt'),
    '#description' => $this
      ->t('Fill the area following the pattern.'),
    '#default_value' => $content,
    '#cols' => 60,
    '#rows' => 20,
    '#wysiwyg' => FALSE,
  ];
  $form['humanstxt_display_link'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Insert link to Humans.txt file'),
    '#description' => $this
      ->t('By activating this field you will make
                        Humans.txt file linked from the head section of the
                        HTML code.'),
    '#default_value' => $display_link,
  ];
  return parent::buildForm($form, $form_state);
}