--- term_display.old.module +++ term_display.module @@ -6,6 +6,9 @@ define('TERM_DISPLAY_CUSTOM', 'custom'); define('TERM_DISPLAY_NONE', 'none'); define('TERM_DISPLAY_LOAD', 'load'); +define('TERM_DISPLAY_LIST_NOTEASER', 'list_noteaser'); +define('TERM_DISPLAY_CUSTOM_NOTEASER', 'custom_noteaser'); + /** * Implementation of hook_form_alter(). @@ -32,7 +35,9 @@ $options = array( TERM_DISPLAY_DEFAULT => t('Default'), TERM_DISPLAY_LIST => t('List'), + TERM_DISPLAY_LIST_NOTEASER => t('List - not in teaser'), TERM_DISPLAY_CUSTOM => t('Custom (defaults to comma separated)'), + TERM_DISPLAY_CUSTOM_NOTEASER => t('Custom - not in teaser (defaults to comma separated)'), TERM_DISPLAY_LOAD => t('Load into $node object'), TERM_DISPLAY_NONE => t('None (hidden)'), ); @@ -101,6 +106,7 @@ * Implementation of hook_nodeapi(). */ function term_display_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { + $teaser = $a3; switch ($op) { case 'view': if (isset($node->taxonomy)) { @@ -108,13 +114,17 @@ $vocabularies = taxonomy_get_vocabularies($node->type); foreach ($vocabularies as $vocabulary) { $term_display_data = term_display_data($vocabulary->vid); - if ($term_display_data['style'] == TERM_DISPLAY_DEFAULT) { + if ($term_display_data['style'] == TERM_DISPLAY_DEFAULT || ($teaser == TRUE && ($term_display_data['style'] == TERM_DISPLAY_LIST_NOTEASER || $term_display_data['style'] == TERM_DISPLAY_CUSTOM_NOTEASER))) { continue; - } + } $terms = array(); foreach ($node->taxonomy as $tid => $term) { if ($term->vid == $vocabulary->vid) { switch ($term_display_data['style']) { + case TERM_DISPLAY_LIST_NOTEASER: + $term_display_data['style'] = TERM_DISPLAY_LIST; + case TERM_DISPLAY_CUSTOM_NOTEASER: + if ($term_display_data['style'] == TERM_DISPLAY_CUSTOM_NOTEASER) {$term_display_data['style'] = TERM_DISPLAY_CUSTOM;} case TERM_DISPLAY_LIST: case TERM_DISPLAY_CUSTOM: case TERM_DISPLAY_LOAD: