प्रीप्रोसेस फ़ंक्शन का उपयोग करें
आप चाहते हैं कि वास्तविक छवि पर वर्ग, जेएस / jQuery के माध्यम से जोड़ना गड़बड़ है और अगर सामग्री 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';
}
}
}
मैं इसके लिए theme_image_style () का उपयोग क्यों नहीं करता
Theme_image_style () के माध्यम से ऐसा करने के साथ मुद्दा यह है कि यह सिर्फ एक क्षेत्र के लिए आउटपुट फ़ंक्शन को ओवरराइड करता है, क्या होगा यदि आपके पास अलग-अलग स्थानों पर कई फ़ील्ड हैं ... बहुत से कई THEME_field__field_photo__team($variables)
ऐसे ही प्राप्त कर रहे हैं जैसे कि theme_image_style () का उपयोग करना।
// 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);
}