Ejemplo n.º 1
0
 /**
  * Provide a full array of possible theme functions to try for a given hook.
  *
  * @param string $hook
  *   The hook to use. This is the base theme/template name.
  *
  * @return array
  *   An array of theme hook suggestions.
  */
 public function buildThemeFunctions($hook)
 {
     $themes = array();
     $display = isset($this->display_handler) ? $this->display_handler->display : NULL;
     $id = $this->storage->id();
     if ($display) {
         $themes[] = $hook . '__' . $id . '__' . $display['id'];
         $themes[] = $hook . '__' . $display['id'];
         // Add theme suggestions for each single tag.
         foreach (Tags::explode($this->storage->get('tag')) as $tag) {
             $themes[] = $hook . '__' . preg_replace('/[^a-z0-9]/', '_', strtolower($tag));
         }
         if ($display['id'] != $display['display_plugin']) {
             $themes[] = $hook . '__' . $id . '__' . $display['display_plugin'];
             $themes[] = $hook . '__' . $display['display_plugin'];
         }
     }
     $themes[] = $hook . '__' . $id;
     $themes[] = $hook;
     return $themes;
 }
Ejemplo n.º 2
0
 /**
  * @param \Drupal\views\Entity\View $view
  * @return array
  */
 protected function viewDisplayList(View $view)
 {
     $displayManager = $this->getViewDisplayManager();
     $displays = array();
     foreach ($view->get('display') as $display) {
         $definition = $displayManager->getDefinition($display['display_plugin']);
         if (!empty($definition['admin'])) {
             // Cast the admin label to a string since it is an object.
             $displays[$definition['id']]['name'] = (string) $definition['admin'];
             $displays[$definition['id']]['description'] = (string) $definition['help'];
         }
     }
     asort($displays);
     return $displays;
 }