Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / chi-teck / drupal-code-generator / templates / d8 / hook / toolbar.twig
diff --git a/vendor/chi-teck/drupal-code-generator/templates/d8/hook/toolbar.twig b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/toolbar.twig
new file mode 100644 (file)
index 0000000..fa5b6b5
--- /dev/null
@@ -0,0 +1,107 @@
+/**
+ * Implements hook_toolbar().
+ */
+function {{ machine_name }}_toolbar() {
+  $items = [];
+
+  // Add a search field to the toolbar. The search field employs no toolbar
+  // module theming functions.
+  $items['global_search'] = [
+    '#type' => 'toolbar_item',
+    'tab' => [
+      '#type' => 'search',
+      '#attributes' => [
+        'placeholder' => t('Search the site'),
+        'class' => ['search-global'],
+      ],
+    ],
+    '#weight' => 200,
+    // Custom CSS, JS or a library can be associated with the toolbar item.
+    '#attached' => [
+      'library' => [
+        'search/global',
+      ],
+    ],
+  ];
+
+  // The 'Home' tab is a simple link, which is wrapped in markup associated
+  // with a visual tab styling.
+  $items['home'] = [
+    '#type' => 'toolbar_item',
+    'tab' => [
+      '#type' => 'link',
+      '#title' => t('Home'),
+      '#url' => Url::fromRoute('<front>'),
+      '#options' => [
+        'attributes' => [
+          'title' => t('Home page'),
+          'class' => ['toolbar-icon', 'toolbar-icon-home'],
+        ],
+      ],
+    ],
+    '#weight' => -20,
+  ];
+
+  // A tray may be associated with a tab.
+  //
+  // When the tab is activated, the tray will become visible, either in a
+  // horizontal or vertical orientation on the screen.
+  //
+  // The tray should contain a renderable array. An optional #heading property
+  // can be passed. This text is written to a heading tag in the tray as a
+  // landmark for accessibility.
+  $items['commerce'] = [
+    '#type' => 'toolbar_item',
+    'tab' => [
+      '#type' => 'link',
+      '#title' => t('Shopping cart'),
+      '#url' => Url::fromRoute('cart'),
+      '#options' => [
+        'attributes' => [
+          'title' => t('Shopping cart'),
+        ],
+      ],
+    ],
+    'tray' => [
+      '#heading' => t('Shopping cart actions'),
+      'shopping_cart' => [
+        '#theme' => 'item_list',
+        '#items' => [ /* An item list renderable array */ ],
+      ],
+    ],
+    '#weight' => 150,
+  ];
+
+  // The tray can be used to render arbitrary content.
+  //
+  // A renderable array passed to the 'tray' property will be rendered outside
+  // the administration bar but within the containing toolbar element.
+  //
+  // If the default behavior and styling of a toolbar tray is not desired, one
+  // can render content to the toolbar element and apply custom theming and
+  // behaviors.
+  $items['user_messages'] = [
+    // Include the toolbar_tab_wrapper to style the link like a toolbar tab.
+    // Exclude the theme wrapper if custom styling is desired.
+    '#type' => 'toolbar_item',
+    'tab' => [
+      '#type' => 'link',
+      '#theme' => 'user_message_toolbar_tab',
+      '#theme_wrappers' => [],
+      '#title' => t('Messages'),
+      '#url' => Url::fromRoute('user.message'),
+      '#options' => [
+        'attributes' => [
+          'title' => t('Messages'),
+        ],
+      ],
+    ],
+    'tray' => [
+      '#heading' => t('User messages'),
+      'messages' => [/* renderable content */],
+    ],
+    '#weight' => 125,
+  ];
+
+  return $items;
+}