Sử dụng chức năng tiền xử lý
Bạn muốn lớp đó trên hình ảnh thực tế, việc thêm thông qua JS / jQuery rất lộn xộn và bị phá vỡ nếu nội dung được tải ajax.
function THEMENAME_preprocess_field(&$variables) {
if($variables['element']['#field_name'] == 'field_photo'){
foreach($variables['items'] as $key => $item){
$variables['items'][ $key ]['#item']['attributes']['class'][] = 'img-circle';
}
}
}
Tại sao tôi không sử dụng theme_image_style () cho việc này
Vấn đề với việc thực hiện điều này thông qua theme_image_style () là nó ghi đè hàm đầu ra cho chỉ một trường, nếu bạn có nhiều trường ở các vị trí khác nhau ... thì quá nhiều THEME_field__field_photo__team($variables)
việc đạt được như trên sử dụng theme_image_style () sẽ như thế này:
// Override the field 'field_photo' on the content type 'team'
function THEMENAME_field__field_photo__team($variables) {
// Determine the dimensions of the styled image.
$dimensions = array(
'width' => $variables['width'],
'height' => $variables['height'],
);
image_style_transform_dimensions($variables['style_name'], $dimensions);
$variables['width'] = $dimensions['width'];
$variables['height'] = $dimensions['height'];
$variables['attributes'] = array(
'class' => $variables['img-circle'],
);
// Determine the URL for the styled image.
$variables['path'] = image_style_url($variables['style_name'], $variables['path']);
return theme('image', $variables);
}