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']];

    }
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc