You are here

public function SimplesitemapSettingsForm::buildForm in Simple XML sitemap 8

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides ConfigFormBase::buildForm

File

src/Form/SimplesitemapSettingsForm.php, line 36
Contains \Drupal\simplesitemap\Form\SimplesitemapSettingsForm.

Class

SimplesitemapSettingsForm
SimplesitemapSettingsFrom

Namespace

Drupal\simplesitemap\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $sitemap = new Simplesitemap();
  $form['simplesitemap_settings']['regenerate'] = array(
    '#title' => t('Regenerate sitemap'),
    '#type' => 'fieldset',
    '#markup' => '<p>' . t('This will regenerate the XML sitemap for all languages.') . '</p>',
  );
  $form['simplesitemap_settings']['regenerate']['regenerate_submit'] = array(
    '#type' => 'submit',
    '#value' => t('Regenerate sitemap'),
    '#submit' => array(
      '::generate_sitemap',
    ),
    '#validate' => array(),
  );
  $form['simplesitemap_settings']['settings'] = array(
    '#title' => t('Other settings'),
    '#type' => 'fieldset',
    '#markup' => '<p>' . t('Various sitemap settings.') . '</p>',
  );
  $form['simplesitemap_settings']['settings']['max_links'] = array(
    '#title' => t('Maximum links in a sitemap'),
    '#description' => t("The maximum number of links one sitemap can hold. If more links are generated than set here, a sitemap index will be created and the links split into several sub-sitemaps.<br/>50 000 links is the maximum Google will parse per sitemap, however it is advisable to set this to a lower number. If left blank, all links will be shown on a single sitemap."),
    '#type' => 'textfield',
    '#maxlength' => 5,
    '#size' => 5,
    '#default_value' => $sitemap
      ->get_setting('max_links'),
  );
  $form['simplesitemap_settings']['settings']['cron_generate'] = array(
    '#type' => 'checkbox',
    '#title' => t('Regenerate the sitemap on every cron run'),
    '#description' => t('Uncheck this if you intend to only regenerate the sitemap manually or via drush.'),
    '#default_value' => $sitemap
      ->get_setting('cron_generate'),
  );
  return parent::buildForm($form, $form_state);
}