hc_offcanvas_nav-1.0.2/hc_offcanvas_nav.module
hc_offcanvas_nav.module
<?php
/**
* @file
* Contains procedural code.
*/
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function hc_offcanvas_nav_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
case 'hc_offcanvas_nav.settings':
return '<p>' . t("Place the 'HC Off-canvas Nav' block in a region.") . '</p>';
}
}
/**
* Implements hook_theme().
*/
function hc_offcanvas_nav_theme($existing, $type, $theme, $path) {
return [
'hc_offcanvas_nav_block_content' => [
'template' => 'hc-offcanvas-nav-block-content',
'variables' => [
'content' => [],
],
],
'hc_offcanvas_nav_items' => [
'template' => 'hc-offcanvas-nav-items',
'variables' => [
'items' => [],
'menu_name' => '',
'attributes' => [],
],
],
];
}
/**
* Implements hook_page_attachments().
*/
function hc_offcanvas_nav_page_attachments(array &$attachments) {
$config = \Drupal::config('hc_offcanvas_nav.settings');
$attachments['#attached']['drupalSettings']['menu']['position'] = $config->get('position');
$attachments['#attached']['drupalSettings']['menu']['color'] = $config->get('color');
$attachments['#attached']['drupalSettings']['menu']['open_type'] = $config->get('open_type');
$attachments['#attached']['drupalSettings']['menu']['bg_color'] = $config->get('bg_color');
$attachments['#attached']['drupalSettings']['menu']['border_color'] = $config->get('border_color');
$attachments['#attached']['drupalSettings']['menu']['color'] = $config->get('color');
$attachments['#attached']['drupalSettings']['menu']['title'] = $config->get('title');
$attachments['#attached']['drupalSettings']['menu']['width'] = $config->get('width');
$attachments['#attached']['drupalSettings']['menu']['pushcontent'] = $config->get('pushcontent');
$attachments['#attached']['drupalSettings']['menu']['onclick'] = $config->get('onclick');
$attachments['#attached']['drupalSettings']['menu']['levelTitles'] = $config->get('levelTitles');
$attachments['#attached']['drupalSettings']['menu']['leveltitleasback'] = $config->get('leveltitleasback');
$attachments['#attached']['drupalSettings']['menu']['insertback'] = $config->get('insertback');
}
/**
* Implements hook_library_info_alter().
*/
function hc_offcanvas_nav_library_info_alter(&$libraries, $extension) {
if ($extension === 'hc_offcanvas_nav_widget' && \Drupal::moduleHandler()->moduleExists('libraries')) {
if (libraries_get_path('hc-offcanvas-nav')) {
$hcoffcanvasnavcss_path = libraries_get_path('hc-offcanvas-nav') . '/docs/demo.css';
$hcoffcanvasnavjs_path = libraries_get_path('hc-offcanvas-nav') . '/docs/hc-offcanvas-nav.js';
$libraries['hc_offcanvas_nav_widget']['css']['theme'] = ['/' . $hcoffcanvasnavcss_path => ['minified' => 'true']];
$libraries['hc_offcanvas_nav_widget']['js'] = ['/' . $hcoffcanvasnavjs_path => ['minified' => 'true']];
}
}
}
