diff --git a/modules/forward/forward.module b/modules/forward/forward.module
index 024c729..6c60c14 100644
--- a/modules/forward/forward.module
+++ b/modules/forward/forward.module
@@ -1086,6 +1086,30 @@ function forward_mail($key, &$message, $params) {
}
}
+/**
+ * Enable the forward link/form to be positioned relative to other fields.
+ * Implements hook_field_extra_fields();
+ */
+function forward_field_extra_fields() {
+ $extra = array();
+
+ $types = node_type_get_types();
+ foreach ($types as $type => $info) {
+ if (variable_get('forward_display_' . $type, FALSE)) {
+ $extra['node'][$type] = array(
+ 'display' => array(
+ 'forward_form' => array(
+ 'label' => t('Forward form'),
+ 'description' => t('Form to forward this content'),
+ 'weight' => 0,
+ ),
+ ),
+ );
+ }
+ }
+
+ return $extra;
+}
/**
* Generate links for pages
@@ -1133,7 +1157,11 @@ function forward_node_view($node, $view_mode) {
}
elseif ((variable_get('forward_form_type', 'link') == 'form') && (!isset($node->in_preview)) && ((($view_mode == 'teaser') && variable_get('forward_display_teasers', 0)) || (($vi
$output = drupal_get_form('forward_form', 'node/' . $node->nid, $node->title, TRUE);
- $node->content['forward'] = $output;
+ $extra_fields = field_extra_fields_get_display('node', $node->type, $view_mode);
+ if ($extra_fields['forward_form']['visible']) {
+ $node->content['forward'] = $output;
+ $node->content['forward']['#weight'] = $extra_fields['forward_form']['weight'];
+ }
}
}
}
Comments
Comment #1
john.oltman commented