在我的自定义组件中使用joomla com_media图像选择 [英] use joomla com_media image selection in my custom component
问题描述
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
有什么建议吗?谢谢
如果您使用的是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');
再见
hi i want to use com_media image selection in my own component. the link is:
index.php?option=com_media&view=images&tmpl=component&
e_name=smallimage
the image goes to editor while i want it's address go to
<input class="inputbox" type="text" name="smallimage" id="smallimage" size="40"
maxlength="255" value="<?php echo $row->smallimage; ?>" title=
"<?php echo JText::_('SMALLIMAGETIP' ); ?>" />
i am using joomla 1.5
any suggestion?
thanks
If you're using Joomla 1.6 the easy way is let Joomla do all the work for you. How?
First you need to include in you xml form (/model/forms/YOURFORM.xml) something like that...
<field name="imageurl" type="media" directory="CUSTOMDIRECTORY?"
hide_none="1" label="COM_YOURCOMPONENT_IMG_LABEL"
size="40"
description="COM_YOURCOMPONENT_IMG_DESCRIPTION" />
Haven't you got a getForm() in your model?
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;
}
In your view (/views/xxxx/view.html.php) you need to load your form
$this->form = $this->get('Form');
Finally you only need to print the element in the template wherever you want.
echo $this->form->getLabel('imageurl');
echo $this->form->getInput('imageurl');
Bye
这篇关于在我的自定义组件中使用joomla com_media图像选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!