অপসারণ বোতামটির জন্য এইচটিএমএল হ্যাক করা আমার পক্ষে কাজ করে না। চিত্রটি সরিয়ে না দিয়ে পৃষ্ঠাটি রিফ্রেশ হয়। পরিবর্তে আমি theme_image_widget
খুঁজে পাওয়া কোর ইমেজ ফিল্ডের কলব্যাক থেকে অনুলিপি করেছি docroot/modules/image/image.field.inc
।
/**
* Implements theme_mymodule_thumb_upload theme callback.
*/
function theme_mymodule_thumb_upload($variables) {
$element = $variables['element'];
$output = '';
$output .= '<div class="image-widget form-managed-file clearfix">';
// My uploaded element didn't have a preview array item, so this didn't work
//if (isset($element['preview'])) {
// $output .= '<div class="image-preview">';
// $output .= drupal_render($element['preview']);
// $output .= '</div>';
//}
// If image is uploaded show its thumbnail to the output HTML
if ($element['fid']['#value'] != 0) {
$output .= '<div class="image-preview">';
// Even though I was uploading to public:// the $element uri was pointing to temporary://system, so the path to the preview image was a 404
//$output .= theme('image_style', array('style_name' => 'thumbnail', 'path' => file_load($element['fid']['#value'])->uri, 'getsize' => FALSE));
$output .= theme('image_style', array('style_name' => 'thumbnail', 'path' => 'public://'.$element['#file']->filename, 'getsize' => FALSE));
$output .= '</div>';
}
$output .= '<div class="image-widget-data">';
if ($element['fid']['#value'] != 0) {
$element['filename']['#markup'] .= ' <span class="file-size">(' . format_size($element['#file']->filesize) . ')</span> ';
}
// The remove button is already taken care of by rendering the rest of the form. No need to hack up some HTML!
$output .= drupal_render_children($element);
$output .= '</div>';
$output .= '</div>';
return $output;
}
উপাদানটি রেন্ডার করতে এই থিম ফাংশনটি ব্যবহার করুন:
/**
* Implements hook_theme().
*/
function mymodule_theme() {
return array(
'mymodule_thumb_upload' => array(
'render element' => 'element',
)
);
}
ফর্ম উপাদান সংজ্ঞা:
$form['upload_image'] = array(
'#type' => 'managed_file',
'#default_value' => $value,
'#title' => t('Image'),
'#description' => t('Upload an image'),
'#upload_location' => 'public://',
'#theme' => 'mymodule_thumb_upload',
'#upload_validators' => array(
'file_validate_is_image' => array(),
'file_validate_extensions' => array('jpg jpeg gif png'),
'file_validate_image_resolution' => array('600x400','300x200'),
),
);
if (!empty($form['#file'])) {
`মুদ্রণ_রেন্ডার_চিল্ডেন ($ ফর্ম); to.tpl.php
ফাইলটিতে লিখবে ? যদি না হয় তবে আমি এই অংশটি কোথায় লিখব?