/** * {@inheritdoc} */ public function serialize() { return serialize([ // Only serialize the storage entity ID. $this->storage->id(), $this->current_display, $this->args, $this->current_page, $this->exposed_input, $this->exposed_raw_input, $this->exposed_data, $this->dom_id, $this->executed, ]); }
/** * 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; }