function theme_imagefield_formatter_image_imagelink($element) {
// Inside a view $element may contain null data. In that case, just return.
if (empty($element['#item']['fid'])) {
return '';
}
$item = $element['#item'];
$original_image_url = file_create_url($item['filepath']);
$class = 'imagefield imagefield-imagelink imagefield-'. $element['#field_name'];
# return l($imagetag, $original_image_url, array('attributes' => array('class' => $class), 'html' => TRUE));
$imagetag = theme('imagefield_formatter_image_plain', $element);
# drupal_set_message( "" . print_r($imagetag, true) . "
");
$node = $element['#node'];
return l($imagetag, $node->field_url[0]["value"], array('attributes' => a rray('class' => $class), 'html' => TRUE));
}
主要加了下面两行:
$node = $element['#node'];
return l($imagetag, $node->field_url[0]["value"], array('attributes' => a rray('class' => $class), 'html' => TRUE));
===== imagecache图片链接 =====
修改文件 imagecache/imagecache.module
function theme_imagecache_formatter_imagelink($element) {
// Inside a view $element may contain NULL data. In that case, just return.
if (empty($element['#item']['fid'])) {
return '';
}
// Extract the preset name from the formatter name.
$presetname = substr($element['#formatter'], 0, strrpos($element['#formatter'], '_'));
$style = 'imagelink';
$item = $element['#item'];
$item['data']['alt'] = isset($item['data']['alt']) ? $item['data']['alt'] : '';
$item['data']['title'] = isset($item['data']['title']) ? $item['data']['title'] : NULL;
$imagetag = theme('imagecache', $presetname, $item['filepath'], $item['data']['alt'], $item['data']['title']);
$path = file_create_url($item['filepath']);
$class = "imagecache imagecache-$presetname imagecache-$style imagecache-{$element['#formatter']}";
$node = $element['#node'];
#drupal_set_message ( "" . $class ."
" );
return l($imagetag, $node->field_url[0]["value"], array('attributes' =>array('class' => $class, "target" => "_blank"), 'html' => TRUE));
#return l($imagetag, $path, array('attributes' => array('class' => $class), 'html' => TRUE));
}