class YandexMetricsCounterSettingsForm in Yandex.Metrics 8.3
Same name and namespace in other branches
- 8.2 src/Form/YandexMetricsCounterSettingsForm.php \Drupal\yandex_metrics\Form\YandexMetricsCounterSettingsForm
Provides a form for configuring Yandex.Metrics counter settings.
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
- class \Drupal\yandex_metrics\Form\YandexMetricsCounterSettingsForm
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
Expanded class hierarchy of YandexMetricsCounterSettingsForm
1 string reference to 'YandexMetricsCounterSettingsForm'
File
- src/
Form/ YandexMetricsCounterSettingsForm.php, line 15 - Contains \Drupal\yandex_metrics\Form\YandexMetricsCounterSettingsForm.
Namespace
Drupal\yandex_metrics\FormView source
class YandexMetricsCounterSettingsForm extends ConfigFormBase {
/**
* Implements \Drupal\Core\Form\FormInterface::getFormID().
*/
public function getFormID() {
return 'yandex_metrics_counter_settings';
}
/**
* {@inheritdoc}
*/
protected function getEditableConfigNames() {
return array(
'yandex_metrics.settings',
);
}
/**
* Implements \Drupal\Core\Form\FormInterface::buildForm().
*/
public function buildForm(array $form, FormStateInterface $form_state, $action = NULL) {
// Create config object.
$config = \Drupal::config('yandex_metrics.settings');
$form['counter_code'] = array(
'#default_value' => $config
->get('counter_code'),
'#title' => $this
->t('Counter Code'),
'#type' => 'textarea',
'#rows' => 10,
'#description' => $this
->t('Paste Yandex.Metrics counter code for your site here.'),
);
$form['path'] = array(
'#type' => 'details',
'#title' => $this
->t('Page specific tracking settings'),
'#collapsed' => TRUE,
);
$visibility = $config
->get('visibility.path.visibility');
$options = array(
$this
->t('Add to every page except the listed pages.'),
$this
->t('Add to the listed pages only.'),
);
$form['path']['visibility'] = array(
'#type' => 'radios',
'#title' => $this
->t('Add code to specific pages'),
'#options' => $options,
'#default_value' => $visibility,
);
$pages = $config
->get('visibility.path.pages');
$description = $this
->t("Enter one page per line as Drupal paths. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array(
'%blog' => 'blog',
'%blog-wildcard' => 'blog/*',
'%front' => '<front>',
));
$form['path']['pages'] = array(
'#type' => 'textarea',
'#title' => $this
->t('Pages'),
'#default_value' => $pages,
'#description' => $description,
'#wysiwyg' => FALSE,
'#rows' => 10,
);
// Render the role overview.
$form['role'] = array(
'#type' => 'details',
'#title' => $this
->t('Role specific tracking settings'),
'#collapsed' => TRUE,
);
$form['role']['visibility_roles'] = array(
'#type' => 'radios',
'#title' => $this
->t('Add tracking for specific roles'),
'#options' => array(
$this
->t('Add to the selected roles only'),
$this
->t('Add to every role except the selected ones'),
),
'#default_value' => $config
->get('visibility.role.visibility'),
);
$role_options = array_map('\\Drupal\\Component\\Utility\\Html::escape', user_role_names());
$form['role']['roles'] = array(
'#type' => 'checkboxes',
'#title' => $this
->t('Roles'),
'#default_value' => $config
->get('visibility.role.roles'),
'#options' => $role_options,
'#description' => $this
->t('If none of the roles are selected, all users will be tracked. If a user has any of the roles checked, that user will be tracked (or excluded, depending on the setting above).'),
);
return parent::buildForm($form, $form_state);
}
/**
* Implements \Drupal\Core\Form\FormInterface::validateForm().
*/
public function validateForm(array &$form, FormStateInterface $form_state) {
parent::validateForm($form, $form_state);
}
/**
* Implements \Drupal\Core\Form\FormInterface::submitForm().
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
// Create config object.
$config = $this->configFactory
->getEditable('yandex_metrics.settings');
$counter_code = $form_state
->getValue('counter_code');
$visibility = $form_state
->getValue('visibility');
$pages = $form_state
->getValue('pages');
$visibility_roles = $form_state
->getValue('visibility_roles');
$roles = $form_state
->getValue('roles');
$config
->set('counter_code', $counter_code)
->set('visibility.path.visibility', $visibility)
->set('visibility.path.pages', $pages)
->set('visibility.role.visibility', $visibility_roles)
->set('visibility.role.roles', $roles)
->save();
parent::submitForm($form, $form_state);
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigFormBase:: |
public static | function |
Instantiates a new instance of this class. Overrides FormBase:: |
13 |
ConfigFormBase:: |
public | function | Constructs a \Drupal\system\ConfigFormBase object. | 11 |
ConfigFormBaseTrait:: |
protected | function | Retrieves a configuration object. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormBase:: |
protected | property | The config factory. | 1 |
FormBase:: |
protected | property | The request stack. | 1 |
FormBase:: |
protected | property | The route match. | |
FormBase:: |
protected | function | Gets the config factory for this form. | 1 |
FormBase:: |
private | function | Returns the service container. | |
FormBase:: |
protected | function | Gets the current user. | |
FormBase:: |
protected | function | Gets the request object. | |
FormBase:: |
protected | function | Gets the route match. | |
FormBase:: |
protected | function | Gets the logger for a specific channel. | |
FormBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
FormBase:: |
public | function | Resets the configuration factory. | |
FormBase:: |
public | function | Sets the config factory for this form. | |
FormBase:: |
public | function | Sets the request stack object to use. | |
FormInterface:: |
public | function | Returns a unique string identifying the form. | 236 |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. | |
YandexMetricsCounterSettingsForm:: |
public | function |
Implements \Drupal\Core\Form\FormInterface::buildForm(). Overrides ConfigFormBase:: |
|
YandexMetricsCounterSettingsForm:: |
protected | function |
Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait:: |
|
YandexMetricsCounterSettingsForm:: |
public | function | Implements \Drupal\Core\Form\FormInterface::getFormID(). | |
YandexMetricsCounterSettingsForm:: |
public | function |
Implements \Drupal\Core\Form\FormInterface::submitForm(). Overrides ConfigFormBase:: |
|
YandexMetricsCounterSettingsForm:: |
public | function |
Implements \Drupal\Core\Form\FormInterface::validateForm(). Overrides FormBase:: |