You are here

class Menu in Simple XML sitemap 8

Menu class.

Plugin annotation


@LinkGenerator(
  id = "menu"
)

Hierarchy

Expanded class hierarchy of Menu

File

src/Plugin/LinkGenerator/Menu.php, line 21
Contains \Drupal\simplesitemap\LinkGenerator\Menu.

Namespace

Drupal\simplesitemap\Plugin\LinkGenerator
View source
class Menu extends LinkGeneratorBase {

  /**
   * {@inheritdoc}
   */
  function get_paths($bundle) {
    $routes = db_query("SELECT mlid, route_name, route_parameters, options FROM {menu_tree} WHERE menu_name = :menu_name and enabled = 1", array(
      ':menu_name' => $bundle,
    ))
      ->fetchAllAssoc('mlid');
    $paths = array();
    foreach ($routes as $id => $entity) {
      if (empty($entity->route_name)) {
        continue;
      }

      //todo: There may be a better way to do this.
      $options = !empty($options = unserialize($entity->options)) ? $options : array();
      $route_parameters = !empty($route_parameters = unserialize($entity->route_parameters)) ? array(
        key($route_parameters) => $route_parameters[key($route_parameters)],
      ) : array();
      $paths[$id]['path_data'] = $this
        ->get_multilang_urls_from_route($entity->route_name, $route_parameters, $options);

      //todo: Implement lastmod for menu items.
    }
    return $paths;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
LinkGeneratorBase::$anonymous_account private property
LinkGeneratorBase::$current_entity_type private property
LinkGeneratorBase::$default_language_id protected property
LinkGeneratorBase::$entity_paths private property
LinkGeneratorBase::$languages protected property
LinkGeneratorBase::access protected function Checks if anonymous users have access to a given path.
LinkGeneratorBase::ANONYMOUS_USER_ID constant
LinkGeneratorBase::get_entity_paths public function Overrides LinkGeneratorInterface::get_entity_paths
LinkGeneratorBase::get_multilang_urls_from_route protected function Wrapper function for Drupal\Core\Url::fromRoute. Returns url data for every language.
LinkGeneratorBase::get_multilang_urls_from_user_input protected function Wrapper function for Drupal\Core\Url::fromUserInput. Returns url data for every language.
LinkGeneratorBase::PATH_DOES_NOT_EXIST constant
LinkGeneratorBase::PLUGIN_ERROR_MESSAGE constant
LinkGeneratorBase::register_error protected function Logs and displays an error.
LinkGeneratorBase::__construct function Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase::__construct
Menu::get_paths function Returns an array of all urls and their data of a bundle. Overrides LinkGeneratorBase::get_paths
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.