1 node.path.inc node_path_info()

Implements hook_path_info().

File

core/modules/node/node.path.inc, line 10
Path integration.

Code

function node_path_info() {
  $info['node'] = array(
    'entity type' => 'node',
    'label' => t('Content'),
    'pattern label' => t('Default URL alias pattern for content'),
    'pattern description' => t('Fallback pattern for all content types without a specific URL alias pattern below.'),
    'pattern default' => 'content/[node:title]',
    'type delete callback' => 'node_path_type_delete_callback',
    'batch update callback' => 'node_path_bulk_update_batch_process',
    'batch file' => 'node.path.inc',
    'batch file path' => backdrop_get_path('module', 'node'),
    'source prefix' => 'node/',
  );

  $languages = array();
  if (module_exists('locale')) {
    $languages = array(LANGUAGE_NONE => (object) array(
      'name' => t('Language neutral'),
      'langcode' => LANGUAGE_NONE,
    )) + language_list();
  }

  $node_types = node_type_get_types();
  if (count($node_types)) {
    $info['node']['pattern items'] = array();
    $info['node']['pattern items label'] = t('URL alias patterns for specific content types');
    foreach ($node_types as $node_type_name => $node_type) {
      if (count($languages) && !empty($node_type->settings['language'])) {
        $info['node']['pattern items'][$node_type_name] = t('Default URL alias pattern for all content of type %node_type (any language)', array('%node_type' => $node_type->name));
        foreach ($languages as $langcode => $language) {
          $info['node']['pattern items'][$node_type_name . '_' . $langcode] = t('Content of type %node_type in %language', array('%node_type' => $node_type->name, '%language' => $language->name));
        }
      }
      else {
        $info['node']['pattern items'][$node_type_name] = t('Content of type %node_type', array('%node_type' => $node_type->name));
      }
    }
  }

  return $info;
}