tid); if ($antonym) { $term->antonym = $antonym; } } } /** * Implement hook_taxonomy_term_insert(). */ function taxonomy_test_taxonomy_term_insert($term) { if (!empty($term->antonym)) { db_insert('taxonomy_term_antonym') ->fields(array( 'tid' => $term->tid, 'name' => trim($term->antonym) )) ->execute(); } } /** * Implement hook_taxonomy_term_update(). */ function taxonomy_test_taxonomy_term_update($term) { if (!empty($term->antonym)) { db_merge('taxonomy_term_antonym') ->key(array('tid' => $term->tid)) ->fields(array( 'name' => trim($term->antonym) )) ->execute(); } } /** * Implement hook_taxonomy_term_delete(). */ function taxonomy_test_taxonomy_term_delete($term) { db_delete('taxonomy_term_antonym') ->condition('tid', $term->tid) ->execute(); } /** * Implement hook_form_alter(). */ function taxonomy_test_form_alter(&$form, $form_state, $form_id) { if ($form_id == 'taxonomy_form_term') { $antonym = taxonomy_test_get_antonym($form['#term']['tid']); $form['advanced']['antonym'] = array( '#type' => 'textfield', '#title' => t('Antonym'), '#default_value' => !empty($antonym) ? $antonym : '', '#description' => t('Antonym of this term.') ); } } /** * Return the antonym of the given term ID. */ function taxonomy_test_get_antonym($tid) { return db_select('taxonomy_term_antonym', 'ta') ->fields('ta', array('name')) ->condition('tid', $tid) ->execute() ->fetchField(); }