I'm working on a site upgrade from Drupal 6.22 to 7.8 and I'm having an issue with the Catalog block - there are no visible product menu items (see attached image) in the block. If I click on a clickable Catalog block title, or if I navigate to the catalog page directly the product categories are properly displayed. What might be causing this?

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

sah62’s picture

Sorry, I should note that everything I described above as "product" seems to be correctly included in the taxonomy's Catalog vocabulary.

TR’s picture

Status: Active » Postponed (maintainer needs more info)

What does admin/structure/taxonomy/catalog look like?

Your image isn't very helpful - I don't know what I'm looking at. I just see the words "Product Catalog" with no surrounding context. It would be much more helpful if you could post a link to your site.

longwave’s picture

Guessing this might be something to do with translatable vs non-translatable vocabularies :(

sah62’s picture

Thanks for your reply, TR. I had to roll my site back to 6.22 when I ran out of time with the upgrade this past weekend. The picture shows what the block looked like on the front page while I had it up. What you see in the image is what I saw - a block title and nothing else.

I'll try again this coming weekend and will post a shot of the catalog from the admin interface.

SilviuChingaru’s picture

In order your catalog to work after update do following:

From something like phpmyadmin rename the last column name of table field_data_taxonomyextra and table field_revision_taxonomyextra "taxonomy_catalog_tid".

In your mysql backend ExecuteSQL the following:

RENAME TABLE field_data_taxonomy_catalog TO field_data_taxonomy_catalog_bk;
RENAME TABLE field_data_taxonomyextra TO field_data_taxonomy_catalog;
RENAME TABLE field_data_taxonomy_catalog_bk TO field_data_taxonomyextra;

RENAME TABLE field_revision_taxonomy_catalog TO field_revision_taxonomy_catalog_bk;
RENAME TABLE field_revision_taxonomyextra TO field_revision_taxonomy_catalog;
RENAME TABLE field_revision_taxonomy_catalog_bk TO field_revision_taxonomyextra;

Then go to Structure -> Content Type -> Product and remove field Taxonomy reference taxonomyextra.

Your D6 catalog will work again on D7.

TR’s picture

Sounds like this might also be the answer to #1074906: Warning: array_intersect(): Argument #2 is not an array in uc_catalog_uc_store_status()?

@fiftyz: Can you explain why this has to be done? Is there documentation on drupal.org that explains this? If this is something that needs to be done, we should put it in a uc_catalog_update_N() function so it is done automatically.

longwave’s picture

@TR: There is no documentation that I can find except a comment in taxonomy_update_7004():

  // Some contrib projects stored term node associations without regard for the
  // selections in the taxonomy_vocabulary_node_types table, or have more terms
  // for a single node than the vocabulary allowed. We construct the
  // taxonomyextra field to store all the extra stuff.

I am not sure that renaming the tables like that is the right thing to do for all cases.

sah62’s picture

FileSize
21.93 KB

A partial image of admin/structure/taxonomy/catalog is attached. Lots of terms, none of which are visible in the body of the block. Is there something else I can check?

I just noticed something else: I now have a view named uc_catalog that references a path of _catalog. When I navigate to that path the view produces no results. Here's the exported view:

$view = new view;
$view->name = 'uc_catalog';
$view->description = 'Catalog';
$view->tag = '';
$view->base_table = 'node';
$view->human_name = '';
$view->core = 0;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['title'] = 'Catalog';
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'entity_id' => 'entity_id',
  'model' => 'model',
  'timestamp' => 'timestamp',
  'title' => 'title',
  'sell_price' => 'sell_price',
  'buyitnowbutton' => 'buyitnowbutton',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
  'entity_id' => array(
    'sortable' => 0,
    'align' => '',
    'separator' => '',
  ),
  'model' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'timestamp' => array(
    'align' => '',
    'separator' => '',
  ),
  'title' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'sell_price' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'buyitnowbutton' => array(
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 1;
/* Field: : uc_product_image */
$handler->display->display_options['fields']['entity_id']['id'] = 'entity_id';
$handler->display->display_options['fields']['entity_id']['table'] = 'field_data_uc_product_image';
$handler->display->display_options['fields']['entity_id']['field'] = 'uc_product_image';
$handler->display->display_options['fields']['entity_id']['label'] = '';
$handler->display->display_options['fields']['entity_id']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['entity_id']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['entity_id']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['trim'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['html'] = 0;
$handler->display->display_options['fields']['entity_id']['hide_empty'] = 1;
$handler->display->display_options['fields']['entity_id']['empty_zero'] = 0;
$handler->display->display_options['fields']['entity_id']['settings'] = array(
  'image_style' => 'uc_product_list',
  'image_link' => 'content',
);
/* Field: Product: SKU */
$handler->display->display_options['fields']['model']['id'] = 'model';
$handler->display->display_options['fields']['model']['table'] = 'uc_products';
$handler->display->display_options['fields']['model']['field'] = 'model';
$handler->display->display_options['fields']['model']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['model']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['model']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['model']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['model']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['model']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['model']['alter']['trim'] = 0;
$handler->display->display_options['fields']['model']['alter']['html'] = 0;
$handler->display->display_options['fields']['model']['hide_empty'] = 0;
$handler->display->display_options['fields']['model']['empty_zero'] = 0;
$handler->display->display_options['fields']['model']['link_to_node'] = 0;
/* Field: Content: Has new content */
$handler->display->display_options['fields']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['fields']['timestamp']['table'] = 'history';
$handler->display->display_options['fields']['timestamp']['field'] = 'timestamp';
$handler->display->display_options['fields']['timestamp']['exclude'] = TRUE;
$handler->display->display_options['fields']['timestamp']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['timestamp']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['timestamp']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['trim'] = 0;
$handler->display->display_options['fields']['timestamp']['alter']['html'] = 0;
$handler->display->display_options['fields']['timestamp']['hide_empty'] = 0;
$handler->display->display_options['fields']['timestamp']['empty_zero'] = 0;
$handler->display->display_options['fields']['timestamp']['link_to_node'] = 0;
$handler->display->display_options['fields']['timestamp']['comments'] = 0;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 1;
$handler->display->display_options['fields']['title']['alter']['text'] = '[title] [timestamp]';
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Product: Sell price */
$handler->display->display_options['fields']['sell_price']['id'] = 'sell_price';
$handler->display->display_options['fields']['sell_price']['table'] = 'uc_products';
$handler->display->display_options['fields']['sell_price']['field'] = 'sell_price';
$handler->display->display_options['fields']['sell_price']['label'] = 'Price';
$handler->display->display_options['fields']['sell_price']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['sell_price']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['sell_price']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['sell_price']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['sell_price']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['sell_price']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['sell_price']['alter']['trim'] = 0;
$handler->display->display_options['fields']['sell_price']['alter']['html'] = 0;
$handler->display->display_options['fields']['sell_price']['hide_empty'] = 0;
$handler->display->display_options['fields']['sell_price']['empty_zero'] = 0;
$handler->display->display_options['fields']['sell_price']['set_precision'] = 0;
$handler->display->display_options['fields']['sell_price']['precision'] = '0';
$handler->display->display_options['fields']['sell_price']['format_plural'] = 0;
/* Field: Product: Buy it now button */
$handler->display->display_options['fields']['buyitnowbutton']['id'] = 'buyitnowbutton';
$handler->display->display_options['fields']['buyitnowbutton']['table'] = 'uc_products';
$handler->display->display_options['fields']['buyitnowbutton']['field'] = 'buyitnowbutton';
$handler->display->display_options['fields']['buyitnowbutton']['label'] = '';
$handler->display->display_options['fields']['buyitnowbutton']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['trim'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['alter']['html'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['hide_empty'] = 0;
$handler->display->display_options['fields']['buyitnowbutton']['empty_zero'] = 0;
/* Contextual filter: Content: Has taxonomy term ID (with depth) */
$handler->display->display_options['arguments']['term_node_tid_depth']['id'] = 'term_node_tid_depth';
$handler->display->display_options['arguments']['term_node_tid_depth']['table'] = 'node';
$handler->display->display_options['arguments']['term_node_tid_depth']['field'] = 'term_node_tid_depth';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_action'] = 'empty';
$handler->display->display_options['arguments']['term_node_tid_depth']['title_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['title'] = '%1';
$handler->display->display_options['arguments']['term_node_tid_depth']['breadcrumb_enable'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['breadcrumb'] = 'Catalog';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_type'] = 'taxonomy_tid';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_options']['term_page'] = '1';
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_options']['node'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['default_argument_options']['limit'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['term_node_tid_depth']['specify_validation'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['validate']['type'] = 'taxonomy_term';
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['vocabularies'] = array(
  'catalog' => 'catalog',
);
$handler->display->display_options['arguments']['term_node_tid_depth']['validate_options']['transform'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['validate']['fail'] = 'empty';
$handler->display->display_options['arguments']['term_node_tid_depth']['depth'] = '0';
$handler->display->display_options['arguments']['term_node_tid_depth']['break_phrase'] = 0;
$handler->display->display_options['arguments']['term_node_tid_depth']['set_breadcrumb'] = 1;
$handler->display->display_options['arguments']['term_node_tid_depth']['use_taxonomy_term_path'] = 0;

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'catalog');
$handler->display->display_options['path'] = '_catalog';
sah62’s picture

FileSize
6.55 KB

I've attached an image of what I see when I navigate to /catalog.

sah62’s picture

FileSize
4.68 KB

Another clue: I have the store configured to use the "Catalog" Catalog vocabulary. When I try to create a new product there are no Catalog terms in the drop-down to select from (see attached).

longwave’s picture

@sah62: I am guessing the terms are instead in the "Taxonomy upgrade extras" field instead? Can you autocomplete any of your terms in there? And if that works, is that usable as the catalog vocabulary?

sah62’s picture

Yes and no. For existing products the terms are indeed listed in the "Taxonomy upgrade extras" field. When I try to create a new product, or edit an existing product, auto complete does not work for the existing Catalog terms. It does work for other terms in other vocabularies. "Taxonomy upgrade extras" isn't an available option for the store's Catalog vocabulary.

longwave’s picture

Status: Postponed (maintainer needs more info) » Active

I think we have enough info now, but am still none the wiser what to do about this. Seems like it should be preventable by confirming taxonomy settings before upgrading from D6, but that doesn't help people who have already upgraded.

sah62’s picture

Is it possible to reset the store catalog with new terms after an upgrade? I just tried to create a new vocabulary with a small number of test terms. I can set the store to use that vocabulary. When I try to edit or create a product, though, the Catalog drop-down list still has only one option: "None".

Update on the above: I was able to fix the "None" problem described above by editing the Product content type's "Catalog" field, which was mis-set. Now I see the different catalog terms when I edit or create a product, but if I select one of the terms the body of the Catalog block remains empty. Is there any way to get something to show up in that block?

Are the "Taxonomy upgrade extras" useful for anything in Ubercart? I found some info in http://drupal.org/node/1104826, but that post just described how to rename the field.

sah62’s picture

FileSize
17.63 KB

I made some progress while continuing to explore this issue over the past weekend. I managed to get some menu items displayed in the Catalog block, but I think I've also discovered a bug. Here's a link to my site so you can see what I'm describing:

http://www.musclecarresearch.com/

I've attached an image file that shows a slice of my catalog vocabulary. Note the hierarchy. Some of the top-level terms (like "Body and Trim Parts") are used for grouping - I don't have any products explicitly associated with that term. I do have products associated with terms like "Brackets" that appear below "Body and Trim Parts".

What I've done to get the menu items you see to show up:

  • Set store to use my existing "Catalog" vocabulary, which appears to have come through the upgrade intact.
  • Edited the "Product" content type to restore the vocabulary value of the "Catalog" field. It got lost during the upgrade and had to be set to "Catalog" again.
  • Edited all of my products to restore the Catalog associations. The old values appeared as "Taxonomy upgrade extras", but I needed to select new Catalog drop-down valves.
  • I also tried to create a new menu block using the Taxonomy Menu and Menu Block modules.

After doing all that I was able to get some menu items to show up in both my Catalog block (shown on my site as Products by Type 1) and my Taxonomy Menu Block (Products by Type 2). There are still some issues in both blocks, though:

  • The Catalog block is listing only menu items for terms associated with products at the first level of the hierarchy - see "Brake System" as an example. The Drupal 6 version of this block included all of the terms in the vocabulary with nested menu items ("Brackets" would be listed under "Body and Trim Parts"). That's the behavior I'm trying to restore.
  • The Taxonomy Menu block is listing menu items for terms associated with products, but it's not preserving the hierachy. Note that there's no nesting of menu items, and the higher-level terms (like "Body and Trim Parts") aren't shown.

So, I think I've gotten past the data upgrade issues. Have I stumbled onto a bug related to the way the menus are created (or not created) from the vocabulary? If so, whose bug is it? It seems strange that both the Catalog module and the Taxonomy Menu module seem to have an issue with those top-level terms that aren't used to tag content.

SilviuChingaru’s picture

In order your product to be correctly upgraded with terms and without adding terms in taxonomyextra you should upgrade from D6 to D7 like explained here:
#1313874: PHP Fatal error: Call to a member function add_child() on a non-object in vocab with multiple parents comment #9

The Catalog block is listing only menu items for terms associated with products at the first level of the hierarchy - see "Brake System" as an example. The Drupal 6 version of this block included all of the terms in the vocabulary with nested menu items ("Brackets" would be listed under "Body and Trim Parts"). That's the behavior I'm trying to restore.

I think you will find solution here:
#1066824: Category does not show up in catalog block if there are no products in that category
Download the last dev version of uc_catalog or apply the patch from comment #10.

Let me know if you still have problems. Take care that there are still bugs in uc_catalog block with multiple parents and different levels like explained here #1313874: PHP Fatal error: Call to a member function add_child() on a non-object in vocab with multiple parents but the problem is caused by taxonomy_get_tree() bug explained here #1330554: taxonomy_get_tree() incorrect depth on multiple parents.

sah62’s picture

Thanks for the tips, but I've already been through the upgrade process and this issue isn't significant enough for me to go back and start over. I wrote some PHP code of my own to create a catalog-like menu block. It's not perfect, but it meets my needs for now.

SilviuChingaru’s picture

Status: Active » Closed (fixed)
seanr’s picture

This ended up working for me, just in case anyone else having general taxonomy upgrade issues comes across this thread:


INSERT INTO field_data_taxonomy_vocabulary_1 (entity_type,bundle,deleted,entity_id,revision_id,language,delta,taxonomy_vocabulary_1_tid) SELECT te.* FROM field_data_taxonomyextra te INNER JOIN taxonomy_term_data td ON te.taxonomyextra_tid=td.tid WHERE td.vid=1;
INSERT INTO field_revision_taxonomy_vocabulary_1 (entity_type,bundle,deleted,entity_id,revision_id,language,delta,taxonomy_vocabulary_1_tid) SELECT te.* FROM field_revision_taxonomyextra te INNER JOIN taxonomy_term_data td ON te.taxonomyextra_tid=td.tid WHERE td.vid=1;

DELETE te, tr FROM field_data_taxonomyextra te INNER JOIN field_revision_taxonomyextra tr INNER JOIN taxonomy_term_data td WHERE te.taxonomyextra_tid=td.tid AND tr.taxonomyextra_tid=td.tid AND td.vid=1;

Repeat for each vocabulary. Not sure that will solve all of the problems here, but it is a general solution to the taxonomyextras issue

symvan’s picture

I think this is the most relevant place to add this piece of information (didn't find anything more relevant in the issue list) in case somebody else has the same problem in the future.

I was trying to use an alternative taxonomy vocabulary for Catalog (my installation was a fresh Drupal 7 / Ubercart 7.x-3.0 NOT the result of a migration as was the case in the original post) and came up with the same problem: the Catalog Block was empty despite the fact that in admin/store/settings/catalog the Catalog vocabulary value was set correctly to the alternative vocabulary.

I looked through the code in uc_catalog.module and realized that the problem lies in the function _uc_catalog_navigation($branch) which is called by theme_uc_catalog_block. In this function I had to change the following points:

  $query = new EntityFieldQuery();
  $query->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', $types)
    ->propertyCondition('status', 1) // Don't include unpublished products
    ->fieldCondition('taxonomy_catalog', 'tid', $branch->tid)
    ->count();
  $num = $query->execute();

and

    if ($node && $field_data = field_get_items('node', $node, 'taxonomy_catalog')) {
      foreach ($field_data as $term) {
        $terms[$term['tid']] = $term['tid'];
      }
    }

in both cases I had to change 'taxonomy_catalog' to 'taxonomy_alternative' where taxonomy_alternative is the field name used to associate the product with the alternative vocabulary (i.e. there should be a table field_data_taxonomy_alternative in your database as well as an entry in field_config table with field_name=taxonomy_alternative).

I guess this is a bug in the code since 'taxonomy_catalog' or in my case 'taxonomy_alternative' shouldn't be hard-coded in the function _uc_catalog_navigation($branch).

I will post a patch when I have the "automatic" version of the code i.e. the one in which the field name is "calculated" from the variable uc_catalog_vid.

longwave’s picture

You can use an alternative vocabulary by editing the taxonomy_catalog field, you shouldn't create a new field for this.

You cannot guarantee to calculate a single unique field name from uc_catalog_vid, as you can have multiple fields pointing to the same vocabulary.

symvan’s picture

#1517374: Catalog taxonomy will not render in catalog block if the corresponding Catalog Taxonomy field is not 'taxonomy_catalog' must then be dismissed on the same grounds...
I promise not to post "automatic" solutions too fast... :-)

manoloka’s picture

Hi there,

Over a year later, I also find this problem after upgrade from D6

Any proposed solution or patch?

oivind’s picture

Subscribing.

seattle_magician’s picture

Issue summary: View changes

I just upgraded from Drupal 6 to 7, and am having the same problem with Ubercart.

seattle_magician’s picture

Status: Closed (fixed) » Needs work

I'm opening this issue back up, since it seems that multiple people are still seeing the problem, and from what I can tell, the original issue was worked around, but the root cause was never actually fixed.

seattle_magician’s picture

OK, I seem to have fixed the issue for my self by following what sah62 said:

"Update on the above: I was able to fix the "None" problem described above by editing the Product content type's "Catalog" field, which was mis-set. Now I see the different catalog terms when I edit or create a product, but if I select one of the terms the body of the Catalog block remains empty. Is there any way to get something to show up in that block?"

I saw the second issue that he stated as well, so I reverted my database back to the point before I started messing with the products trying to fix things. When I did, and then went back to the Product content type's "Catalog" field, and re-set it to the "Product" type, even though it was already set to that, and then saved it, things started working for me. After doing this, it seems to have fixed the issue for me, and I haven't seen any side effects yet... fingers crossed!...

longwave’s picture

Status: Needs work » Closed (fixed)
lyntux’s picture

I upgraded Drupal 6 to 7 about two months ago and I experienced this same issue. After a lot of tweaking and playing around, I think I found a real solution to the problem. At least, in my case.

From:
Store --> Configuration, click on Catalog.

By default, the Catalog Vocabulary is set to "Catalog". Click on the blue Catalog link at the bottom of the screen.

Click on the "Manage Fields" button at the top of the page. The other way to get to this screen is:
Home › Administration › Structure › Taxonomy › "Catalog" › Manage Fields

Under the "Add Existing Field" section, I chose "taxonomy_catalog". Click Save.

Finally, and I think this is optional, I went to the Manage Display page and set field "Catalog", the "taxonomy_catalog" that we just added, to Hidden.

Problem solved!

jerry’s picture

#29 worked for me as well.

Interestingly, I was then able to remove the catalog field from the taxonomy entity, and the catalog continued to work properly.