noscript_tag.module in Noscript Tag 8
Same filename and directory in other branches
Adds functionality to display noscript tag when javascript is disabled.
File
noscript_tag.moduleView source
<?php
/**
* @file
* Adds functionality to display noscript tag when javascript is disabled.
*/
use Drupal\Core\Url;
use Drupal\Core\Link;
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function noscript_tag_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the noscript module.
case 'help.page.noscript_tag':
// Configuration page link generation.
$noscript_tag_route = Url::fromRoute('noscript_tag.settings');
$configure_link = Link::fromTextAndUrl(t('Manage noscript tag setting'), $noscript_tag_route);
$configure_settings = $configure_link
->toRenderable();
$configure_settings = render($configure_settings);
// Permissions page link.
$options = [
'fragment' => 'module-noscript_tag',
];
$permissions_route = Url::fromRoute('user.admin_permissions', [], $options);
$permissions_link = Link::fromTextAndUrl(t('here'), $permissions_route);
$permissions_settings = $permissions_link
->toRenderable();
$permissions_settings = render($permissions_settings);
// Manage noscript tag setting.
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('This module displays noscript tag when javascript is disabled in users browser.') . '</p>';
$output .= '<p>' . t('Site admin can configure what content to be displayed in the noscript tag.') . '</p>';
$output .= '<p>' . t('Site admin can @manage-noscript-tag.', [
'@manage-noscript-tag' => $configure_settings,
]) . '</p>';
$output .= '<p>' . t('The noscript tag will be displayed only to user roles who have permission to view the noscript tag. You can configure the permissions @manage-noscript-tag-permissions.', [
'@manage-noscript-tag-permissions' => $permissions_settings,
]) . '</p>';
return $output;
}
}
/**
* Implements hook_page_attachments().
*/
function noscript_tag_page_attachments(array &$attachments) {
// If the user has view permission, Add CSS.
if (\Drupal::currentUser()
->hasPermission('view noscript tag')) {
// Add css.
$attachments['#attached']['library'][] = 'noscript_tag/noscript_tag';
}
}
/**
* Implements hook_page_top().
*/
function noscript_tag_page_top(array &$page_top) {
// If the user has view permission, Append the noscript HTML to page Top.
if (\Drupal::currentUser()
->hasPermission('view noscript tag')) {
// Get config.
$noscript_tag_config = \Drupal::config('noscript_tag.settings');
// Get value from config.
$noscript_tag_value = $noscript_tag_config
->get('noscript_tag_value');
// Get format from config.
$noscript_tag_format = $noscript_tag_config
->get('noscript_tag_format');
// Format Markup.
$markup = check_markup($noscript_tag_value, $noscript_tag_format);
// Add html to page top.
$page_top = [
'noscript_tag' => [
'#type' => 'html_tag',
'#tag' => 'p',
'#noscript' => TRUE,
'#value' => $markup,
],
];
}
}
Functions
Name![]() |
Description |
---|---|
noscript_tag_help | Implements hook_help(). |
noscript_tag_page_attachments | Implements hook_page_attachments(). |
noscript_tag_page_top | Implements hook_page_top(). |