function _single_page_site_validate_menu_item in Single Page Site 2.0.x
Same name and namespace in other branches
- 8 single_page_site.module \_single_page_site_validate_menu_item()
- 7 single_page_site.module \_single_page_site_validate_menu_item()
- 2.x single_page_site.module \_single_page_site_validate_menu_item()
Validates the menu item.
1 string reference to '_single_page_site_validate_menu_item'
- single_page_site_form_menu_link_content_menu_link_content_form_alter in ./
single_page_site.module - Implements hook_form_FROM_ID_alter().
File
- ./
single_page_site.module, line 71 - Module hooks file for Single Page Site.
Code
function _single_page_site_validate_menu_item($form, FormStateInterface &$form_state) {
// Add validation callback to menu that is used as single page menu.
$menu = $form_state
->getValue('menu_parent');
$settings = \Drupal::config('single_page_site.config');
if (strpos($menu, $settings
->get('menu')) !== FALSE) {
$uri = $form_state
->getValue([
'link',
0,
'uri',
]);
if ($uri == 'internal:/single-page-site') {
// Don't allow to add "single-page-site" as menu item.
$form_state
->setErrorByName('url', t("You can't add this page to this menu, because it is used as a single page menu."));
}
elseif ($uri == 'internal:/' && $settings
->get('homepage')) {
// Don't allow to add "<front>" as menu item if it is "single-page-site".
// @codingStandardsIgnoreStart
$form_state
->setErrorByName('url', t("You can't add the frontpage to this menu, because this menu is used for building your single page site " . "and you configured the single page as you homepage."));
// @codingStandardsIgnoreEnd
}
}
}