I was getting this error earlier ...
Fatal error: Call to undefined function taxonomy_get_vocabularies() in /Users/overthis/Sites/icf/sites/all/themes/acquia_marina/template.php on line 339.

I temporarily resolved the problem by commenting out the Taxonomy block of the template.php file. Later, I realized that the Taxonomy module is required. Perhaps there should be a readme.txt file noting this, or the code should have its own bypass of the Taxonomy block if the Taxonomy module isn't installed.

Comments

wmostrey’s picture

I agree that although taxonomy is a core module that's enabled by default, the theme shouldn't blindly depend on it. A simple module_exists() will fix this issue.

netbjarne’s picture

second that - i also uninstalled this otherwise interesting looking theme due to this error
Bjarne

wmostrey’s picture

Bjarne, you can simply enable the taxonomy module without configuring anything, that should make the error disappear until this is fixed.

stephthegeek’s picture

Assigned: Unassigned » stephthegeek
Priority: Normal » Critical

This is a biggie that got overlooked, thanks everyone. Jwolf is on a train going cross country right now so unfortunately we won't be able to update this in CVS for a few days, but I'll post the code fix to this issue today.

stephthegeek’s picture

Status: Active » Needs review

To resolve, change line 338 in template.php from:

if ($taxonomy_display == 'all' || ($taxonomy_display == 'only' && $vars['page'])) {

TO:

if ((module_exists('taxonomy')) && ($taxonomy_display == 'all' || ($taxonomy_display == 'only' && $vars['page']))) {

wmostrey’s picture

Status: Needs review » Reviewed & tested by the community

Works for me, good to go. There's no need for the first couple of extra brackets btw. This works just as fine:

if (module_exists('taxonomy') && ...

sociotech’s picture

Status: Reviewed & tested by the community » Needs review

NOTE: ADDITIONAL CODE FIX FOR TAXONOMY ERROR

After a deeper review, it turns out that there is another section, this time in theme-settings.php, that needs to check for the existence of the Taxonomy module. Without this fix, Drupal will generate an error when the Taxonomy module is not enabled and an admin goes to the theme settings page for Acquia Marina (which has settings for taxonomy display).

We will be rolling this change into the next release of Acquia Marina, but in the meantime I thought I'd post the information so people who wanted to make the change themselves could try it out.

To fix this, beginning at line 338 in theme-settings.php, add an enclosing if statement that checks for the existence of the taxonomy module. Change the following:

From:

  // Taxonomy Settings
  $form['tnt_container']['node_type_specific']['display_taxonomy_container'] = array(

To:

  // Taxonomy Settings
  if (module_exists('taxonomy')) {
    $form['tnt_container']['node_type_specific']['display_taxonomy_container'] = array(

And beginning at line 354 in theme-settings.php, complete the enclosing if statement by adding a closing bracket. Change the following:

From:

    else if ($settings['taxonomy_enable_content_type'] == 0) {
      $form['display_taxonomy'][$type]['#collapsed'] = TRUE;
    }
  }

To:

      else if ($settings['taxonomy_enable_content_type'] == 0) {
        $form['display_taxonomy'][$type]['#collapsed'] = TRUE;
      }
    }
  }
jwolf’s picture

Status: Needs review » Fixed

Fixed in the 6.x-1.1 release.

Thank you!!

zilla’s picture

@jwolf - you guys are all over every bug on this forum! you're awesome!

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.