在我的自定义组件中使用joomla com_media图像选择

时间:2011-04-01 08:35:44

标签: joomla joomla-template

喜 我想在我自己的组件中使用com_media图像选择。链接是:

index.php?option=com_media&view=images&tmpl=component&
e_name=smallimage

图像进入编辑器,而我希望它的地址转到

<input class="inputbox" type="text" name="smallimage" id="smallimage" size="40" 
maxlength="255" value="<?php echo $row->smallimage; ?>" title=
"<?php echo JText::_('SMALLIMAGETIP' ); ?>" />

我正在使用joomla 1.5

有什么建议吗?

感谢

2 个答案:

答案 0 :(得分:3)

如果您正在使用Joomla 1.6,那么简单的方法就是让Joomla为您完成所有工作。怎么样?

首先你需要在你的xml格式(/model/forms/YOURFORM.xml)中加入类似的内容......

<field name="imageurl" type="media" directory="CUSTOMDIRECTORY?"
                hide_none="1" label="COM_YOURCOMPONENT_IMG_LABEL"
                size="40"
                description="COM_YOURCOMPONENT_IMG_DESCRIPTION" />

你的模型中没有getForm()吗?

public function getForm($data = array(), $loadData = true)
    {

        // Get the form.
        try {
            //throw new Exception(JText::_('JLIB_FORM_ERROR_NO_DATA'));
            $form = $this->loadForm('com_kfiles', 'files');
        } catch (Exception $e) {
            echo "e";
            echo 'Caught exception: ',  $e->getMessage(), "\n";
        }

        if (empty($form)) {
            return false;
        }


        return $form;
    }

在您的视图中(/views/xxxx/view.html.php),您需要加载表单

$this->form = $this->get('Form');

最后,您只需要在模板中的任何位置打印元素。

echo $this->form->getLabel('imageurl'); 
echo $this->form->getInput('imageurl');

再见

答案 1 :(得分:1)

不是直截了当,但你可以解决这里提到的问题 - Joomla Forum