diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php index b1fb656..6e48d26 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Tests/ManageDisplayTest.php @@ -269,6 +269,13 @@ function testNonInitializedFields() { * Tests hiding the view modes fieldset when there's only one available. */ function testSingleViewMode() { + // Create a test field. + $edit = array( + 'fields[_add_new_field][label]' => 'Test', + 'fields[_add_new_field][field_name]' => 'test', + ); + $this->fieldUIAddNewField('admin/structure/taxonomy/manage/' . $this->vocabulary, $edit); + $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary . '/display'); $this->assertNoText('Use custom display settings for the following view modes', 'Custom display settings fieldset found.'); diff --git a/core/modules/forum/forum.module b/core/modules/forum/forum.module index 011e37e..d80ce3f 100644 --- a/core/modules/forum/forum.module +++ b/core/modules/forum/forum.module @@ -676,7 +676,6 @@ function template_preprocess_forum_list(&$variables) { $row = 0; // Sanitize each forum so that the template can safely print the data. foreach ($variables['forums'] as $id => $forum) { - $variables['forums'][$id]->description = filter_xss_admin($forum->description->value); $variables['forums'][$id]->link = url("forum/" . $forum->id()); $variables['forums'][$id]->name = check_plain($forum->label()); $variables['forums'][$id]->is_container = !empty($forum->forum_container->value); diff --git a/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php b/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php index 86017f7..b983cf2 100644 --- a/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php +++ b/core/modules/forum/lib/Drupal/forum/Tests/ForumTest.php @@ -363,13 +363,11 @@ function editForumVocabulary() { * The created taxonomy term data. */ function createForum($type, $parent = 0) { - // Generate a random name/description. + // Generate a random name. $name = $this->randomName(10); - $description = $this->randomName(100); $edit = array( 'name' => $name, - 'description[value]' => $description, 'parent[0]' => $parent, 'weight' => '0', ); @@ -387,7 +385,7 @@ function createForum($type, $parent = 0) { ); // Verify forum. - $term = db_query("SELECT * FROM {taxonomy_term_data} t WHERE t.vid = :vid AND t.name = :name AND t.description__value = :desc", array(':vid' => \Drupal::config('forum.settings')->get('vocabulary'), ':name' => $name, ':desc' => $description))->fetchAssoc(); + $term = db_query("SELECT * FROM {taxonomy_term_data} t WHERE t.vid = :vid AND t.name = :name", array(':vid' => \Drupal::config('forum.settings')->get('vocabulary'), ':name' => $name))->fetchAssoc(); $this->assertTrue(!empty($term), 'The ' . $type . ' exists in the database'); // Verify forum hierarchy. diff --git a/core/modules/forum/templates/forum-list.html.twig b/core/modules/forum/templates/forum-list.html.twig index 5b41f6a..fa49dbe 100644 --- a/core/modules/forum/templates/forum-list.html.twig +++ b/core/modules/forum/templates/forum-list.html.twig @@ -15,8 +15,6 @@ * - icon_title: Text alternative for the forum icon. * - name: The name of the forum. * - link: The URL to link to this forum. - * - description: The description field for the forum, containing: - * - value: The descriptive text for the forum. * - new_topics: A flag indicating if the forum contains unread posts. * - new_url: A URL to the forum's unread posts. * - new_text: Text for the above URL, which tells how many new posts. @@ -59,9 +57,6 @@ {{ forum.icon_title }}
{{ forum.label }}
- {% if forum.description.value %} -
{{ forum.description.value }}
- {% endif %} {% for i in 1..forum.depth if forum.depth > 0 %}{% endfor %} {% if forum.is_container == false %} diff --git a/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php b/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php index c483d9e..fb448b3 100644 --- a/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php +++ b/core/modules/path/lib/Drupal/path/Tests/PathTaxonomyTermTest.php @@ -48,10 +48,8 @@ function setUp() { function testTermAlias() { // Create a term in the default 'Tags' vocabulary with URL alias. $vocabulary = entity_load('taxonomy_vocabulary', 'tags'); - $description = $this->randomName(); $edit = array( 'name' => $this->randomName(), - 'description[value]' => $description, 'path[alias]' => $this->randomName(), ); $this->drupalPostForm('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add', $edit, t('Save')); @@ -59,7 +57,7 @@ function testTermAlias() { // Confirm that the alias works. $this->drupalGet($edit['path[alias]']); - $this->assertText($description, 'Term can be accessed on URL alias.'); + $this->assertText($edit['name'], 'Term can be accessed on URL alias.'); // Confirm the 'canonical' and 'shortlink' URLs. $elements = $this->xpath("//link[contains(@rel, 'canonical') and contains(@href, '" . $edit['path[alias]'] . "')]"); @@ -74,11 +72,11 @@ function testTermAlias() { // Confirm that the changed alias works. $this->drupalGet($edit2['path[alias]']); - $this->assertText($description, 'Term can be accessed on changed URL alias.'); + $this->assertText($edit['name'], 'Term can be accessed on changed URL alias.'); // Confirm that the old alias no longer works. $this->drupalGet($edit['path[alias]']); - $this->assertNoText($description, 'Old URL alias has been removed after altering.'); + $this->assertNoText($edit['name'], 'Old URL alias has been removed after altering.'); $this->assertResponse(404, 'Old URL alias returns 404.'); // Remove the term's URL alias. @@ -88,7 +86,7 @@ function testTermAlias() { // Confirm that the alias no longer works. $this->drupalGet($edit2['path[alias]']); - $this->assertNoText($description, 'Old URL alias has been removed after altering.'); + $this->assertNoText($edit['name'], 'Old URL alias has been removed after altering.'); $this->assertResponse(404, 'Old URL alias returns 404.'); } } diff --git a/core/modules/system/tests/upgrade/drupal-7.taxonomy.database.php b/core/modules/system/tests/upgrade/drupal-7.taxonomy.database.php new file mode 100644 index 0000000..e22261c --- /dev/null +++ b/core/modules/system/tests/upgrade/drupal-7.taxonomy.database.php @@ -0,0 +1,32 @@ +fields(array('tid', 'vid', 'name', 'description', 'format', 'weight')) + ->values(array( + 'tid' => 5, + 'vid' => 1, + 'name' => 'A tag', + 'description' => 'Description of a tag', + 'format' => 'plain_text', + 'weight' => 10, + )) + ->values(array( + 'tid' => 6, + 'vid' => 1, + 'name' => 'Another tag', + 'description' => 'HTML Description', + 'format' => 'filtered_html', + 'weight' => 20, + )) + ->execute(); diff --git a/core/modules/taxonomy/css/taxonomy.module.css b/core/modules/taxonomy/css/taxonomy.module.css index 1f80d52..543666a 100644 --- a/core/modules/taxonomy/css/taxonomy.module.css +++ b/core/modules/taxonomy/css/taxonomy.module.css @@ -8,6 +8,3 @@ .taxonomy-term-divider-bottom { border-top: 1px dotted #ccc; } -.taxonomy-term-description { - margin: 5px 0 20px; -} diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php index b28a6d9..ee4df94 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php @@ -81,20 +81,6 @@ class Term extends ContentEntityBase implements TermInterface { public $name; /** - * Description of the term. - * - * @var \Drupal\Core\Field\FieldItemListInterface - */ - public $description; - - /** - * The text format name for the term's description. - * - * @var \Drupal\Core\Field\FieldItemListInterface - */ - public $format; - - /** * The weight of this term. * * This property stores the weight of this term in relation to other terms of diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/TermFormController.php b/core/modules/taxonomy/lib/Drupal/taxonomy/TermFormController.php index 925d83c..2fba8dc 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/TermFormController.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/TermFormController.php @@ -70,13 +70,6 @@ public function form(array $form, array &$form_state) { '#weight' => -5, ); - $form['description'] = array( - '#type' => 'text_format', - '#title' => $this->t('Description'), - '#default_value' => $term->description->value, - '#format' => $term->description->format, - '#weight' => 0, - ); $language_configuration = $this->moduleHandler->moduleExists('language') ? language_get_default_configuration('taxonomy_term', $vocabulary->id()) : FALSE; $form['langcode'] = array( '#type' => 'language_select', @@ -174,12 +167,6 @@ public function buildEntity(array $form, array &$form_state) { // Prevent leading and trailing spaces in term names. $term->name->value = trim($term->name->value); - // Convert text_format field into values expected by - // \Drupal\Core\Entity\Entity::save() method. - $description = $form_state['values']['description']; - $term->description->value = $description['value']; - $term->description->format = $description['format']; - // Assign parents with proper delta values starting from 0. $term->parent = array_keys($form_state['values']['parent']); diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php b/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php index fbf29ea..048ca6e 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/TermViewBuilder.php @@ -17,28 +17,7 @@ class TermViewBuilder extends EntityViewBuilder { /** - * {@inheritdoc} - */ - public function buildContent(array $entities, array $displays, $view_mode, $langcode = NULL) { - parent::buildContent($entities, $displays, $view_mode, $langcode); - - foreach ($entities as $entity) { - // Add the description if enabled. - // @todo Remove this when base fields are able to use formatters. - // https://drupal.org/node/2144919 - $display = $displays[$entity->bundle()]; - if (!empty($entity->description->value) && $display->getComponent('description')) { - $entity->content['description'] = array( - '#markup' => $entity->description->processed, - '#prefix' => '
', - '#suffix' => '
', - ); - } - } - } - - /** - * {@inheritdoc} + * Overrides \Drupal\Core\Entity\EntityViewBuilder::getBuildDefaults(). */ protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langcode) { $return = parent::getBuildDefaults($entity, $view_mode, $langcode); diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php index 9fd5a34..0e380ee 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TaxonomyTestBase.php @@ -51,15 +51,8 @@ function createVocabulary() { * Returns a new term with random properties in vocabulary $vid. */ function createTerm($vocabulary) { - $filter_formats = filter_formats(); - $format = array_pop($filter_formats); $term = entity_create('taxonomy_term', array( 'name' => $this->randomName(), - 'description' => array( - 'value' => $this->randomName(), - // Use the first available text format. - 'format' => $format->format, - ), 'vid' => $vocabulary->id(), 'langcode' => Language::LANGCODE_NOT_SPECIFIED, )); diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php index 410ff5a..236e4a9 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php @@ -297,7 +297,6 @@ function testTermAutocompletion() { function testTermInterface() { $edit = array( 'name' => $this->randomName(12), - 'description[value]' => $this->randomName(100), ); // Explicitly set the parents field to 'root', to ensure that // TermFormController::save() handles the invalid term ID correctly. @@ -319,11 +318,9 @@ function testTermInterface() { $this->clickLink(t('edit')); $this->assertRaw($edit['name'], 'The randomly generated term name is present.'); - $this->assertText($edit['description[value]'], 'The randomly generated term description is present.'); $edit = array( 'name' => $this->randomName(14), - 'description[value]' => $this->randomName(102), ); // Edit the term. @@ -341,15 +338,6 @@ function testTermInterface() { // View the term and check that it is correct. $this->drupalGet('taxonomy/term/' . $term->id()); $this->assertText($edit['name'], 'The randomly generated term name is present.'); - $this->assertText($edit['description[value]'], 'The randomly generated term description is present.'); - - // Did this page request display a 'term-listing-heading'? - $this->assertPattern('|class="taxonomy-term-description"|', 'Term page displayed the term description element.'); - // Check that it does NOT show a description when description is blank. - $term->description->value = NULL; - $term->save(); - $this->drupalGet('taxonomy/term/' . $term->id()); - $this->assertNoPattern('|class="taxonomy-term-description"|', 'Term page did not display the term description when description was blank.'); // Check that the description value is processed. $term->description->value = $value = $this->randomName(); @@ -437,7 +425,6 @@ function testTermMultipleParentsInterface() { // Add a new term with multiple parents. $edit = array( 'name' => $this->randomName(12), - 'description[value]' => $this->randomName(100), 'parent[]' => array(0, $parent->id()), ); // Save the new term. @@ -448,7 +435,6 @@ function testTermMultipleParentsInterface() { $term = reset($terms); $this->assertNotNull($term, 'Term found in database.'); $this->assertEqual($edit['name'], $term->label(), 'Term name was successfully saved.'); - $this->assertEqual($edit['description[value]'], $term->description->value, 'Term description was successfully saved.'); // Check that the parent tid is still there. The other parent () is // not added by taxonomy_term_load_parents(). $parents = taxonomy_term_load_parents($term->id()); diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TokenReplaceTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TokenReplaceTest.php index a91675c..5ceb4f0 100644 --- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TokenReplaceTest.php +++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TokenReplaceTest.php @@ -88,7 +88,6 @@ function testTaxonomyTokenReplacement() { $tests = array(); $tests['[term:tid]'] = $term1->id(); $tests['[term:name]'] = check_plain($term1->name->value); - $tests['[term:description]'] = $term1->description->processed; $tests['[term:url]'] = url('taxonomy/term/' . $term1->id(), array('absolute' => TRUE)); $tests['[term:node-count]'] = 0; $tests['[term:parent:name]'] = '[term:parent:name]'; @@ -103,7 +102,6 @@ function testTaxonomyTokenReplacement() { $tests = array(); $tests['[term:tid]'] = $term2->id(); $tests['[term:name]'] = check_plain($term2->name->value); - $tests['[term:description]'] = $term2->description->processed; $tests['[term:url]'] = url('taxonomy/term/' . $term2->id(), array('absolute' => TRUE)); $tests['[term:node-count]'] = 1; $tests['[term:parent:name]'] = check_plain($term1->name->value); @@ -121,7 +119,6 @@ function testTaxonomyTokenReplacement() { // Generate and test unsanitized tokens. $tests['[term:name]'] = $term2->name->value; - $tests['[term:description]'] = $term2->description->value; $tests['[term:parent:name]'] = $term1->name->value; $tests['[term:vocabulary:name]'] = $this->vocabulary->name; diff --git a/core/modules/taxonomy/taxonomy.install b/core/modules/taxonomy/taxonomy.install index 7b247c9..7b7799a 100644 --- a/core/modules/taxonomy/taxonomy.install +++ b/core/modules/taxonomy/taxonomy.install @@ -7,6 +7,20 @@ use Drupal\Core\Entity\FieldableDatabaseStorageController; use Drupal\field\Entity\Field; +use Drupal\Component\Uuid\Uuid; +use Drupal\Core\Language\Language; + +/** + * Implements hook_uninstall(). + */ +function taxonomy_uninstall() { + // Remove taxonomy_term bundles. + $config_names = config_get_storage_names_with_prefix('taxonomy.vocabulary.'); + foreach ($config_names as $config_name) { + $vid = substr($config_name, strlen('taxonomy.vocabulary.')); + entity_invoke_bundle_hook('delete', 'taxonomy_term', $vid); + } +} /** * Implements hook_schema(). @@ -48,18 +62,6 @@ function taxonomy_schema() { 'default' => '', 'description' => 'The term name.', ), - 'description__value' => array( - 'type' => 'text', - 'not null' => FALSE, - 'size' => 'big', - 'description' => 'A description of the term.', - ), - 'description__format' => array( - 'type' => 'varchar', - 'length' => 255, - 'not null' => FALSE, - 'description' => 'The filter format ID of the description.', - ), 'weight' => array( 'type' => 'int', 'not null' => TRUE, @@ -425,3 +427,112 @@ function taxonomy_update_8010() { ); db_change_field('taxonomy_term_data', 'format', 'description__format', $format); } + +/** + * Create new field for term descriptions. + */ +function taxonomy_update_8011() { + $vocabularies = config_get_storage_names_with_prefix('taxonomy.vocabulary.'); + if (count($vocabularies)) { + // Create a new term description field. + $field = array( + 'name' => 'description', + 'entity_type' => 'taxonomy_term', + 'module' => 'text', + 'type' => 'text_long', + 'cardinality' => 1, + 'locked' => FALSE, + 'schema' => array( + 'columns' => array( + 'value' => array( + 'type' => 'text', + 'size' => 'big', + 'not null' => FALSE, + ), + 'format' => array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => FALSE, + ), + ), + 'foreign keys' => array( + 'format' => array( + 'table' => 'filter_format', + 'columns' => array('format' => 'format'), + ), + ), + 'indexes' => array(), + ), + ); + _update_8003_field_create_field($field); + + // Create instances for existing vocabularies. + foreach ($vocabularies as $vocabulary) { + $vocabulary = substr($vocabulary, drupal_strlen('taxonomy.vocabulary.')); + // Attaches the description field to each bundle. + $instance = array( + 'label' => 'Description', + 'description' => '', + 'entity_type' => 'taxonomy_term', + 'name' => 'description', + 'bundle' => $vocabulary, + 'required' => FALSE, + 'settings' => array('text_processing' => 1), + ); + _update_8003_field_create_instance($field, $instance); + } + } +} + +/** + * Move term descriptions in {term_data}.description into new field. + */ +function taxonomy_update_8012(&$sandbox) { + if (!isset($sandbox['progress'])) { + $sandbox['progress'] = 0; + $sandbox['current_tid'] = 0; + $sandbox['max'] = db_query('SELECT COUNT(DISTINCT tid) FROM {taxonomy_term_data} WHERE vid > 0')->fetchField(); + } + + if ($terms = db_query_range('SELECT t.tid, t.description, t.format, t.vid FROM {taxonomy_term_data} t WHERE tid > :tid ORDER BY tid ASC', 0, 100, array(':tid' => $sandbox['current_tid']))) { + $data = db_insert('taxonomy_term__description') + ->fields(array('bundle', 'entity_id', 'revision_id', 'langcode', 'delta', 'description_value', 'description_format')); + $revision = db_insert('taxonomy_term_revision__description') + ->fields(array('bundle', 'entity_id', 'revision_id', 'langcode', 'delta', 'description_value', 'description_format')); + foreach ($terms as $term) { + $data->values(array( + 'bundle' => $term->vid, + 'entity_id' => $term->tid, + 'revision_id' => $term->tid, + 'langcode' => Language::LANGCODE_NOT_SPECIFIED, + 'delta' => 0, + 'description_value' => $term->description, + 'description_format' => $term->format, + )); + $revision->fields(array( + 'bundle' => $term->vid, + 'entity_id' => $term->tid, + 'revision_id' => $term->tid, + 'langcode' => Language::LANGCODE_NOT_SPECIFIED, + 'delta' => 0, + 'description_value' => $term->description, + 'description_format' => $term->format, + )); + $sandbox['progress']++; + $sandbox['current_tid'] = $term->tid; + } + + $data->execute(); + $revision->execute(); + } + + $sandbox['#finished'] = empty($sandbox['max']) ? 1 : ($sandbox['progress'] / $sandbox['max']); +} + +/** + * Remove {term_data}.description and {term_data}.format. + */ +function taxonomy_update_8013() { + db_drop_field('taxonomy_term_data', 'description'); + db_drop_field('taxonomy_term_data', 'format'); +} diff --git a/core/modules/taxonomy/taxonomy.module b/core/modules/taxonomy/taxonomy.module index fd08344..92f74dc 100644 --- a/core/modules/taxonomy/taxonomy.module +++ b/core/modules/taxonomy/taxonomy.module @@ -142,18 +142,6 @@ function taxonomy_field_extra_fields() { 'description' => t('Term name textfield'), 'weight' => -5, ), - 'description' => array( - 'label' => t('Description'), - 'description' => t('Term description textarea'), - 'weight' => 0, - ), - ), - 'display' => array( - 'description' => array( - 'label' => t('Description'), - 'description' => t('Term description'), - 'weight' => 0, - ), ), ); } @@ -962,3 +950,54 @@ function taxonomy_library_info() { return $libraries; } + +/** + * Adds the default description field to a taxonomy term type. + * + * @param \Drupal\taxonomy\VocabularyInterface $type + * A vocabulary type object. + * @param $label + * (Optional) The label for the description instance. + * @return + * A description field instance. + */ +function taxonomy_add_description_field(VocabularyInterface $type, $label = 'Description') { + // Add the description field as needed. + $field = field_info_field('taxonomy_term', 'description'); + $instance = field_info_instance('taxonomy_term', 'description', $type->id()); + + if (empty($field)) { + $field = entity_create('field_entity', array( + 'name' => 'description', + 'entity_type' => 'taxonomy_term', + 'type' => 'text_long', + )); + $field->save(); + } + if (empty($instance)) { + $instance = entity_create('field_instance', array( + 'field_name' => 'description', + 'entity_type' => 'taxonomy_term', + 'bundle' => $type->id(), + 'label' => $label, + 'settings' => array('text_processing' => 1), + )); + $instance->save(); + + entity_get_form_display('taxonomy_term', $type->id(), 'default') + ->setComponent('description', array( + 'type' => 'text_long', + )) + ->save(); + + // Assign display settings for the 'default' and 'teaser' view modes. + entity_get_display('taxonomy_term', $type->id(), 'default') + ->setComponent('description', array( + 'label' => 'hidden', + 'type' => 'text_default', + )) + ->save(); + } + + return $instance; +} \ No newline at end of file diff --git a/core/modules/taxonomy/taxonomy.pages.inc b/core/modules/taxonomy/taxonomy.pages.inc index 79d4472..495b473 100644 --- a/core/modules/taxonomy/taxonomy.pages.inc +++ b/core/modules/taxonomy/taxonomy.pages.inc @@ -71,9 +71,6 @@ function taxonomy_term_page(Term $term) { function taxonomy_term_feed(Term $term) { $channel['link'] = url('taxonomy/term/' . $term->id(), array('absolute' => TRUE)); $channel['title'] = \Drupal::config('system.site')->get('name') . ' - ' . $term->label(); - // Only display the description if we have a single term, to avoid clutter and confusion. - // HTML will be removed from feed description. - $channel['description'] = $term->description->processed; $nids = taxonomy_select_nodes($term->id(), FALSE, \Drupal::config('system.rss')->get('items.limit')); return node_feed($nids, $channel); diff --git a/core/modules/taxonomy/taxonomy.tokens.inc b/core/modules/taxonomy/taxonomy.tokens.inc index ce77a7c..de5d486 100644 --- a/core/modules/taxonomy/taxonomy.tokens.inc +++ b/core/modules/taxonomy/taxonomy.tokens.inc @@ -29,10 +29,6 @@ function taxonomy_token_info() { 'name' => t("Name"), 'description' => t("The name of the taxonomy term."), ); - $term['description'] = array( - 'name' => t("Description"), - 'description' => t("The optional description of the taxonomy term."), - ); $term['node-count'] = array( 'name' => t("Node count"), 'description' => t("The number of nodes tagged with the taxonomy term."), @@ -107,10 +103,6 @@ function taxonomy_tokens($type, $tokens, array $data = array(), array $options = $replacements[$original] = $sanitize ? check_plain($term->name->value) : $term->name->value; break; - case 'description': - $replacements[$original] = $sanitize ? $term->description->processed : $term->description->value; - break; - case 'url': $uri = $term->uri(); $replacements[$original] = url($uri['path'], array_merge($uri['options'], array('absolute' => TRUE))); diff --git a/core/modules/taxonomy/taxonomy.views.inc b/core/modules/taxonomy/taxonomy.views.inc index d114050..143a68d 100644 --- a/core/modules/taxonomy/taxonomy.views.inc +++ b/core/modules/taxonomy/taxonomy.views.inc @@ -127,20 +127,6 @@ function taxonomy_views_data() { ), ); - // Term description - $data['taxonomy_term_data']['description__value'] = array( - 'title' => t('Term description'), - 'help' => t('The description associated with a taxonomy term.'), - 'field' => array( - 'id' => 'markup', - 'format' => array('field' => 'description__format'), - 'click sortable' => FALSE, - ), - 'filter' => array( - 'id' => 'string', - ), - ); - // Term vocabulary $data['taxonomy_term_data']['vid'] = array( 'title' => t('Vocabulary'), diff --git a/core/modules/taxonomy/templates/taxonomy-term.html.twig b/core/modules/taxonomy/templates/taxonomy-term.html.twig index a3986fa..3a834a6 100644 --- a/core/modules/taxonomy/templates/taxonomy-term.html.twig +++ b/core/modules/taxonomy/templates/taxonomy-term.html.twig @@ -6,7 +6,7 @@ * Available variables: * - url: URL of the current term. * - name: Name of the current term. - * - content: Items for the content of the term (fields and description). + * - content: Items for the content of the term fields. * Use 'content' to print them all, or print a subset such as * 'content.description'. Use the following code to temporarily suppress the * printing of a given element: diff --git a/core/profiles/standard/config/entity.form_display.taxonomy_term.tags.default.yml b/core/profiles/standard/config/entity.form_display.taxonomy_term.tags.default.yml new file mode 100644 index 0000000..2ff493b --- /dev/null +++ b/core/profiles/standard/config/entity.form_display.taxonomy_term.tags.default.yml @@ -0,0 +1,13 @@ +id: taxonomy_term.tags.default +uuid: db7383e4-7317-432c-a200-c5a87b55667b +targetEntityType: taxonomy_term +bundle: tags +mode: default +content: + description: + type: text_textarea + weight: 0 + settings: + rows: '5' + placeholder: '' +status: true diff --git a/core/profiles/standard/config/field.field.taxonomy_term.description.yml b/core/profiles/standard/config/field.field.taxonomy_term.description.yml new file mode 100644 index 0000000..51f5807 --- /dev/null +++ b/core/profiles/standard/config/field.field.taxonomy_term.description.yml @@ -0,0 +1,14 @@ +id: taxonomy_term.description +uuid: 132ab84f-764f-41ca-bc0c-12a16c85742a +status: true +langcode: en +name: description +entity_type: taxonomy_term +type: text_long +settings: { } +module: text +active: true +locked: false +cardinality: '1' +translatable: false +indexes: { } diff --git a/core/profiles/standard/config/field.instance.taxonomy_term.tags.description.yml b/core/profiles/standard/config/field.instance.taxonomy_term.tags.description.yml new file mode 100644 index 0000000..48e3b1e --- /dev/null +++ b/core/profiles/standard/config/field.instance.taxonomy_term.tags.description.yml @@ -0,0 +1,15 @@ +id: taxonomy_term.tags.description +uuid: d371ade7-286e-4504-8500-ce084609168e +status: true +langcode: en +field_uuid: 132ab84f-764f-41ca-bc0c-12a16c85742a +entity_type: taxonomy_term +bundle: tags +label: Description +description: '' +required: 0 +default_value: { } +default_value_function: '' +settings: + text_processing: '1' +field_type: text_long diff --git a/core/profiles/standard/standard.install b/core/profiles/standard/standard.install index 8718567..56a5dd6 100644 --- a/core/profiles/standard/standard.install +++ b/core/profiles/standard/standard.install @@ -81,4 +81,11 @@ function standard_install() { theme_enable(array('seven')); \Drupal::config('system.theme')->set('admin', 'seven')->save(); \Drupal::config('node.settings')->set('use_admin_theme', '1')->save(); + + // Configure the widget for the taxonomy term description field. + entity_get_form_display('taxonomy_term', 'tags', 'default') + ->setComponent('taxonomy_term_description', array( + 'type' => 'text_textarea', + )) + ->save(); } diff --git a/core/scripts/generate-d7-content.sh b/core/scripts/generate-d7-content.sh index 30c61a2..34c7215 100644 --- a/core/scripts/generate-d7-content.sh +++ b/core/scripts/generate-d7-content.sh @@ -141,6 +141,7 @@ for ($j = 0; $j < $vocabulary->hierarchy + 1; $j++) { ++$term_id; $term = entity_create('taxonomy_term', array( + 'vid' => $voc_id, 'vocabulary_machine_name' => $vocabulary->machine_name, // For multiple parent vocabularies, omit the t0-t1 relation, otherwise // every parent in the vocabulary is a parent.