Joomla通过ajax插入媒体表单元素

时间:2013-08-02 13:17:34

标签: joomla joomla3.0

我正在构建一个自定义的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;

2 个答案:

答案 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'
            }
    )

仍然不是我想要的,但足够接近。