2

我正在创建自己的模块,它将向特定地址发送电子邮件。

但我需要知道如何合并来自名为“媒体”的模块中的媒体选择器,以便用户可以以与发送电子邮件相同的形式将文件上传到服务器。

我现在的表单是在我的新模块的 PHP 中创建的。

$form['email'] = array(
'#type' => 'textfield',
'#title' => t('Your e-mail address'),
'#required' => TRUE,
);
$form['title'] = array(
'#type' => 'textfield',
'#title' => t('Title of bug'),
'#required' => TRUE,
);
 $form['message'] = array(
'#type' => 'textarea',
'#title' => t('Bug description'),
'#required' => TRUE,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
  return $form;
4

3 回答 3

2

media.module定义了一个名为media. 因此,您可以执行以下操作:

$form['file'] = array(
  '#type' => 'media',
  ...
);

查看更多选项media_element_info()media.module

于 2012-08-01T00:46:09.947 回答
2

您可以使用此代码。它甚至适用于一种形式的多个媒体元素。

$form['image'] = array(
    '#type' => 'media',     
    '#tree' => TRUE,
    '#title' => t('Image'),
    '#description' => t('Image'),
    '#input' => TRUE,
    '#media_options' => array(
      'global' => array(
        'types' => array('image'), // Example: array('image', 'audio');
        'schemes' => array('http'), // Example: array('http', 'ftp', 'flickr');
      ),
    ),
    '#default_value' => array('fid' => ''), // Change to your default value
);
于 2014-05-27T05:09:37.850 回答
0

如果你想设置整个媒体表单,你可以使用,

$form['pgh'] = array(
'#type' => 'media',
'#title' => t('Upload video'),
'#input' => TRUE,
'#media_options' => array(
  'global' => array(
    'types' => array('document'),
    'schemes' => array('http'),
  ),
),
'#description' => t('Pick a video file to upload.'),
'#attached' => array(),
'#extended' => TRUE,
// '#value' => array('fid' => 22),
);

last '#value' 设置上次上传的默认文件。希望这可以帮助。

于 2013-11-12T03:28:51.940 回答