Index: link.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/link/link.module,v
retrieving revision 1.24.2.14
diff -u -r1.24.2.14 link.module
--- link.module	6 Jun 2008 03:57:19 -0000	1.24.2.14
+++ link.module	6 Jun 2008 04:27:30 -0000
@@ -401,6 +401,9 @@
     'link_formatter_label' => array(
       'arguments' => array('element' => NULL),
     ),
+    'link_formatter_separate' => array(
+      'arguments' => array('element' => NULL),
+    ),
     'link' => array(
       'arguments' => array('element' => NULL),
     ),
@@ -518,6 +521,11 @@
       'field types' => array('link'),
       'multiple values' => CONTENT_HANDLE_CORE,
     ),
+    'separate' => array(
+      'label' => t('Separate title and URL'),
+      'field types' => array('link'),
+      'multiple values' => CONTENT_HANDLE_CORE,
+    ),
   );
 }
 
@@ -557,12 +565,26 @@
 }
 
 /**
- * Theme function for 'short' text field formatter.
+ * Theme function for 'label' text field formatter.
  */
 function theme_link_formatter_label($element) {
   return $element['#item']['url'] ? l($element['#item']['label'], $element['#item']['url'], $element['#item']) : '';
 }
 
+/**
+ * Theme function for 'separate' text field formatter.
+ */
+function theme_link_formatter_separate($element) {
+  $output = '';
+  $output .= '<div class="link-item">';
+  if (!empty($element['#item']['title'])) {
+    $output .= '<div class="link-title">'. $element['#item']['display_title'] .'</div>';
+  }
+  $output .= '<div class="link-url">'. l($element['#item']['display_url'], $element['#item']['url'], $element['#item']) .'</div>';
+  $output .= '</div>';
+  return $output;
+}
+
 function link_token_list($type = 'all') {
   if ($type == 'field' || $type == 'all') {
     $tokens = array();
