You are here

function taxonomy_help in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/taxonomy/taxonomy.module \taxonomy_help()

Implements hook_help().

File

core/modules/taxonomy/taxonomy.module, line 38
Enables the organization of content into categories.

Code

function taxonomy_help($route_name, RouteMatchInterface $route_match) {
  switch ($route_name) {
    case 'help.page.taxonomy':
      $field_ui_url = \Drupal::moduleHandler()
        ->moduleExists('field_ui') ? \Drupal::url('help.page', array(
        'name' => 'field_ui',
      )) : '#';
      $output = '';
      $output .= '<h3>' . t('About') . '</h3>';
      $output .= '<p>' . t('The Taxonomy module allows users who have permission to create and edit content to categorize (tag) content of that type. Users who have the <em>Administer vocabularies and terms</em> <a href=":permissions" title="Taxonomy module permissions">permission</a> can add <em>vocabularies</em> that contain a set of related <em>terms</em>. The terms in a vocabulary can either be pre-set by an administrator or built gradually as content is added and edited. Terms may be organized hierarchically if desired.', array(
        ':permissions' => \Drupal::url('user.admin_permissions', array(), array(
          'fragment' => 'module-taxonomy',
        )),
      )) . '</p>';
      $output .= '<p>' . t('For more information, see the <a href=":taxonomy">online documentation for the Taxonomy module</a>.', array(
        ':taxonomy' => 'https://www.drupal.org/documentation/modules/taxonomy/',
      )) . '</p>';
      $output .= '<h3>' . t('Uses') . '</h3>';
      $output .= '<dl>';
      $output .= '<dt>' . t('Managing vocabularies') . '</dt>';
      $output .= '<dd>' . t('Users who have the <em>Administer vocabularies and terms</em> permission can add and edit vocabularies from the <a href=":taxonomy_admin">Taxonomy administration page</a>. Vocabularies can be deleted from their <em>Edit vocabulary</em> page. Users with the <em>Taxonomy term: Administer fields</em> permission may add additional fields for terms in that vocabulary using the <a href=":field_ui">Field UI module</a>.', array(
        ':taxonomy_admin' => \Drupal::url('entity.taxonomy_vocabulary.collection'),
        ':field_ui' => $field_ui_url,
      )) . '</dd>';
      $output .= '<dt>' . t('Managing terms') . '</dt>';
      $output .= '<dd>' . t('Users who have the <em>Administer vocabularies and terms</em> permission or the <em>Edit terms</em> permission for a particular vocabulary can add, edit, and organize the terms in a vocabulary from a vocabulary\'s term listing page, which can be accessed by going to the <a href=":taxonomy_admin">Taxonomy administration page</a> and clicking <em>List terms</em> in the <em>Operations</em> column. Users must have the <em>Administer vocabularies and terms</em> permission or the <em>Delete terms</em> permission for a particular vocabulary to delete terms.', array(
        ':taxonomy_admin' => \Drupal::url('entity.taxonomy_vocabulary.collection'),
      )) . ' </dd>';
      $output .= '<dt>' . t('Classifying entity content') . '</dt>';
      $output .= '<dd>' . t('A user with the <em>Administer fields</em> permission for a certain entity type may add <em>Taxonomy term</em> reference fields to the entity type, which will allow entities to be classified using taxonomy terms. See the <a href=":entity_reference">Entity Reference help</a> for more information about reference fields. See the <a href=":field">Field module help</a> and the <a href=":field_ui">Field UI help</a> pages for general information on fields and how to create and manage them.', array(
        ':field_ui' => $field_ui_url,
        ':field' => \Drupal::url('help.page', array(
          'name' => 'field',
        )),
        ':entity_reference' => \Drupal::url('help.page', array(
          'name' => 'entity_reference',
        )),
      )) . '</dd>';
      $output .= '<dt>' . t('Adding new terms during content creation') . '</dt>';
      $output .= '<dd>' . t('Allowing users to add new terms gradually builds a vocabulary as content is added and edited. Users can add new terms if either of the two <em>Autocomplete</em> widgets is chosen for the Taxonomy term reference field in the <em>Manage form display</em> page for the field. You will also need to enable the <em>Create referenced entities if they don\'t already exist</em> option, and restrict the field to one vocabulary.') . '</dd>';
      $output .= '<dt>' . t('Configuring displays and form displays') . '</dt>';
      $output .= '<dd>' . t('See the <a href=":entity_reference">Entity Reference help</a> page for the field widgets and formatters that can be configured for any reference field on the <em>Manage display</em> and <em>Manage form display</em> pages. Taxonomy additionally provides an <em>RSS category</em> formatter that displays nothing when the entity item is displayed as HTML, but displays an RSS category instead of a list when the entity item is displayed in an RSS feed.', array(
        ':entity_reference' => \Drupal::url('help.page', array(
          'name' => 'entity_reference',
        )),
      )) . '</li>';
      $output .= '</ul>';
      $output .= '</dd>';
      $output .= '</dl>';
      return $output;
    case 'entity.taxonomy_vocabulary.collection':
      $output = '<p>' . t('Taxonomy is for categorizing content. Terms are grouped into vocabularies. For example, a vocabulary called "Fruit" would contain the terms "Apple" and "Banana".') . '</p>';
      return $output;
    case 'entity.taxonomy_vocabulary.overview_form':
      $vocabulary = $route_match
        ->getParameter('taxonomy_vocabulary');
      switch ($vocabulary
        ->getHierarchy()) {
        case TAXONOMY_HIERARCHY_DISABLED:
          return '<p>' . t('You can reorganize the terms in %capital_name using their drag-and-drop handles, and group terms under a parent term by sliding them under and to the right of the parent.', array(
            '%capital_name' => Unicode::ucfirst($vocabulary
              ->label()),
            '%name' => $vocabulary
              ->label(),
          )) . '</p>';
        case TAXONOMY_HIERARCHY_SINGLE:
          return '<p>' . t('%capital_name contains terms grouped under parent terms. You can reorganize the terms in %capital_name using their drag-and-drop handles.', array(
            '%capital_name' => Unicode::ucfirst($vocabulary
              ->label()),
            '%name' => $vocabulary
              ->label(),
          )) . '</p>';
        case TAXONOMY_HIERARCHY_MULTIPLE:
          return '<p>' . t('%capital_name contains terms with multiple parents. Drag and drop of terms with multiple parents is not supported, but you can re-enable drag-and-drop support by editing each term to include only a single parent.', array(
            '%capital_name' => Unicode::ucfirst($vocabulary
              ->label()),
          )) . '</p>';
      }
  }
}