我正在构建一个自定义 Joomla 3.0 管理员组件,其中一部分需要一些 ajax 调用来插入各种类型的字段。
我一直无法插入媒体字段。
对于常规输入,我刚刚直接创建了 html。对于编辑器,我使用了以下代码(我刚刚粘贴了一个摘录):
$editor = JFactory::getEditor();
$html .= $editor->display($name, $value, '100%', '250px', 20, 20, true, $id);
echo $html;
我不希望重新创建 Media 字段的 html 代码,因为有相当多的 html 和 javascript 可能会在 Joomla 的未来版本中发生变化。有没有类似于我可以使用的 JFactory:getEditor() 的方法?
我也尝试过创建 Media 类的实例,但它需要一个我认为在执行 ajax 调用时无法访问的表单对象(或者至少我不知道如何获取它)。
$xml = '<field
name="test"
type="media"
/>';
$field = new SimpleXMLElement($xml);
$media = new JFormFieldMedia();
$media->setup($field,'');
echo $media->input;