我正在构建一个自定义的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调用时,它需要一个我认为不可访问的表单对象(或者至少我不知道如何获取它)。 / p>
$xml = '<field
name="test"
type="media"
/>';
$field = new SimpleXMLElement($xml);
$media = new JFormFieldMedia();
$media->setup($field,'');
echo $media->input;
答案 0 :(得分:1)
K2有一个扩展名,用于播放名为JW ALL VIDEOS的视频。这是免费的,我建议你下载它,看看它是如何在那里进行研究的:
http://www.joomlaworks.net/extensions/free-premium/allvideos
答案 1 :(得分:0)
我设法弄清楚如何添加媒体元素。这不是完全相同的输入选择,所以我构建了自己的,为了调用图像选择器我能够通过javascript调用它来执行此功能:
SqueezeBox.open('index.php?option=com_media&view=images&tmpl=component&asset=com_mycomponent&author=&fieldid=gallery_result' + field_id + '&folder=gallery',
{
size:
{
x: 800,
y: 500
},
handler: 'iframe'
}
)
仍然不是我想要的,但足够接近。