1

我正在尝试构建我的自定义组件,我想在其中从管理员上传图像。对于上传图像,我想使用媒体管理器模式,这应该在我的文本框中返回图像 url。我在 popup-imagemanager.js 中做了以下更改:

this.editor = decodeURIComponent(q.get('e_name')); //after this
//I added
this.return_url = decodeURIComponent(q.get('return_url'));

//window.parent.jInsertEditorText(tag, this.editor);

//removed above line and added the following

if ( this.return_url == 1 ) 
{ 
 window.parent.document.getElementById(this.editor).value=url; 
} 
else 
{ 
 window.parent.jInsertEditorText(tag, this.editor); 
} 

我的表格中的代码如下:

<input class="text_area" type="text" name="imageurl" id="imageurl" size="50" maxlength="250" value="<?php echo $this->image->image;?>" /> 

 <div class="button2-left"> 
  <div class="image"> 
   <a rel="{handler: 'iframe', size: {x: 570, y: 400}}" href="index.php?      option=com_media&view=images&tmpl=component&e_name=imageurl&return_url=1"
   title="Image" class="modal-button">Select</a> 
  </div> 
</div> 

在模式中选择图像后单击插入按钮时,出现错误:
window.parent.document.getElementById(this.editor) is null

我搜索了它,但无法解决它。请告诉我该怎么做。谢谢

4

2 回答 2

1

如果我正确理解您的问题,您想将媒体管理器使用到您的自定义组件中以进行浏览映像,然后选择图像的一个,则将其显示到您的输入字段。所以你可以通过以下方法来做到这一点:

在您的组件中打开models->forms-> open the .xml file并将字段类型添加为要保存图像的媒体。

例如Test.xml

<field id="image"
  name="enter field name"
  type="media"
  label="Select Image"
  description=""
  class="inputbox"
  directory="Enter the image path here" 
/>

就是这样。希望这会有所帮助。

于 2013-03-05T08:50:16.967 回答
0

标记中的类必须是“模态的”。

JHTML::_('behavior.modal');

<a rel="{handler: 'iframe', size: {x: 570, y: 400}}" href="index.php?option=com_media&view=images&tmpl=component&e_name=imageurl&return_url=1"
   title="Image" class="modal">Select</a>
于 2017-11-13T19:39:54.850 回答