public function NodeStatisticsSettingsForm::buildForm in Open Social 8.4
Same name and namespace in other branches
- 8.9 modules/custom/social_node_statistics/src/Form/NodeStatisticsSettingsForm.php \Drupal\social_node_statistics\Form\NodeStatisticsSettingsForm::buildForm()
- 8.5 modules/custom/social_node_statistics/src/Form/NodeStatisticsSettingsForm.php \Drupal\social_node_statistics\Form\NodeStatisticsSettingsForm::buildForm()
- 8.6 modules/custom/social_node_statistics/src/Form/NodeStatisticsSettingsForm.php \Drupal\social_node_statistics\Form\NodeStatisticsSettingsForm::buildForm()
- 8.7 modules/custom/social_node_statistics/src/Form/NodeStatisticsSettingsForm.php \Drupal\social_node_statistics\Form\NodeStatisticsSettingsForm::buildForm()
- 8.8 modules/custom/social_node_statistics/src/Form/NodeStatisticsSettingsForm.php \Drupal\social_node_statistics\Form\NodeStatisticsSettingsForm::buildForm()
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
- modules/
custom/ social_node_statistics/ src/ Form/ NodeStatisticsSettingsForm.php, line 31
Class
- NodeStatisticsSettingsForm
- Configure social profile settings.
Namespace
Drupal\social_node_statistics\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$options = [];
/** @var \Drupal\node\Entity\NodeType $node_type */
foreach (NodeType::loadMultiple() as $node_type) {
$options[$node_type
->id()] = $node_type
->label();
}
// List of node types.
$form['node_types'] = [
'#type' => 'checkboxes',
'#options' => $options,
'#title' => $this
->t('Track views for node types'),
'#description' => $this
->t('Select which node types views should be tracked for.'),
'#default_value' => $this
->config('social_node_statistics.settings')
->get('node_types'),
];
// Max age of caching.
$form['max_age'] = [
'#type' => 'select',
'#options' => [
30 => $this
->t('30 seconds'),
60 => $this
->t('1 minute'),
120 => $this
->t('2 minutes'),
300 => $this
->t('5 minutes'),
600 => $this
->t('10 minutes'),
900 => $this
->t('15 minutes'),
1800 => $this
->t('30 minutes'),
3600 => $this
->t('1 hour'),
21600 => $this
->t('6 hours'),
43200 => $this
->t('12 hours'),
86400 => $this
->t('1 day'),
],
'#title' => $this
->t('Max age of views count caching'),
'#description' => $this
->t('Select how long before the views count cache on a node display is invalidated.'),
'#default_value' => $this
->config('social_node_statistics.settings')
->get('max_age'),
'#required' => TRUE,
'#access' => $this
->currentUser()
->hasPermission('administer node statistics caching'),
];
// Minimum number of views.
$form['min_views'] = [
'#type' => 'number',
'#title' => $this
->t('Minimum number of new views before cache invalidation'),
'#description' => $this
->t('Set the minimum number of new views before the views count cache on a node display is invalidated.'),
'#default_value' => $this
->config('social_node_statistics.settings')
->get('min_views'),
'#min' => 0,
'#step' => 1,
'#required' => TRUE,
'#access' => $this
->currentUser()
->hasPermission('administer node statistics caching'),
];
return parent::buildForm($form, $form_state);
}