diff --git a/sites/all/modules/contrib/metatag/metatag.module b/sites/all/modules/contrib/metatag/metatag.module index ec6d1d7..6a6535a 100644 --- a/sites/all/modules/contrib/metatag/metatag.module +++ b/sites/all/modules/contrib/metatag/metatag.module @@ -1300,7 +1300,9 @@ function metatag_metatags_form(array &$form, $instance, array $metatags = array( // tokens. By this we update the #description of each group. if ($form['metatags']['#access']) { // Built the token list. - $token_listing_link = theme('token_tree', array('token_types' => $options['token types'], 'dialog' => TRUE)); + // for value "all" theme_token_tree() compares with string, not array + $token_types = (in_array('all', $options['token types'])) ? 'all' : $options['token types']; + $token_listing_link = theme('token_tree', array('token_types' => $token_types, 'dialog' => TRUE)); // Add the token list to the top of the fieldset. $form['metatags']['#description'] = $token_listing_link; diff --git a/sites/all/modules/contrib/metatag/metatag_context/metatag_context.admin.inc b/sites/all/modules/contrib/metatag/metatag_context/metatag_context.admin.inc index 2ca07ce..6e84c0a 100644 --- a/sites/all/modules/contrib/metatag/metatag_context/metatag_context.admin.inc +++ b/sites/all/modules/contrib/metatag/metatag_context/metatag_context.admin.inc @@ -99,7 +99,9 @@ function metatag_context_config_edit_form($form, &$form_state, $context) { // Don't care about the instance name, the data is being managed by Context // and not Metatag. $instance = ""; - $options = array(); + $options = array( + 'token types' => array('term'), + ); $metatags = $context->reactions['metatag_context_reaction']['metatags']; if (!isset($metatags[LANGUAGE_NONE])) { diff --git a/sites/all/modules/contrib/metatag/metatag_context/metatag_context.context.inc b/sites/all/modules/contrib/metatag/metatag_context/metatag_context.context.inc index 15984fb..a88bb2a 100644 --- a/sites/all/modules/contrib/metatag/metatag_context/metatag_context.context.inc +++ b/sites/all/modules/contrib/metatag/metatag_context/metatag_context.context.inc @@ -27,7 +27,10 @@ class metatag_context_reaction extends context_reaction { } // No options currently available. - $options = array(); + //provide token types + $options = array( + 'token types' => array('term'), + ); $form['help'] = array( '#prefix' => '

', @@ -80,9 +83,6 @@ class metatag_context_reaction extends context_reaction { } } - // Show all takens. - $form['metatags']['tokens']['#token_types'] = 'all'; - $form['metatag_admin'] = array( '#type' => 'checkbox', '#title' => t('Show on metatag admin page.'), @@ -133,6 +133,13 @@ class metatag_context_reaction extends context_reaction { asort($instance_names); $instance = 'context:' . implode(',', $instance_names); $options['instance'] = $instance; + $entities = drupal_static('metatag_context_entities'); + if (isset($entities) && (count($entities[1]) == 1)) { + $data = array_values($entities[1]); + $options['entity'] = $data[0]; + $options['entity_type'] = $entities[0]; + $options['token data'] = array($entities[0] => $data[0]); + } foreach ($metatags as $metatag => $data) { if ($metatag_instance = metatag_get_instance($metatag, $data)) { diff --git a/sites/all/modules/contrib/metatag/metatag_context/metatag_context.module b/sites/all/modules/contrib/metatag/metatag_context/metatag_context.module index dfa9b82..4a77528 100644 --- a/sites/all/modules/contrib/metatag/metatag_context/metatag_context.module +++ b/sites/all/modules/contrib/metatag/metatag_context/metatag_context.module @@ -82,6 +82,14 @@ function metatag_context_context_page_reaction() { } /** + * Implements hook_entity_prepare_view(). + */ +function metatag_context_entity_prepare_view($entities, $type, $langcode = NULL) { + // Store the current entities + drupal_static('metatag_context_entities', array($type, $entities)); +} + +/** * Implements hook_page_build(). */ function metatag_context_page_build(&$page) {