2013-10-04 73 views

回答

0

以下地址將目前認爲從媒體管理器中選擇圖像

http://yourdomain/administrator/index.php?option=com_media&view=images&tmpl=component&e_name=jform_articletext&asset=com_content&author= 

這樣你就可以在任何光線框彈出實施

打開它那請回復曾經的「插入」選擇按鈕

打開它必須包括一個

function jInsertEditorText(text, editor){....} 

此功能的頁面將被調用。

我將使用joomla3中默認提供的所有功能提供此實現的簡單示例。

在你的組件你可以使用下面的代碼包含一個按鈕,顯示bootstarp的模態窗口的頁面(http://getbootstrap.com/2.3.2/javascript.html#modals

<a href="#myModal" role="button" style="position:fixed;top:50px"class="btn" data-toggle="modal">show popup</a> 

(請不要太注意style屬性因爲它是有用於測試目的)

如果你只是想從控制檯或JS做到這一點,你可以做

jQuery("body").append('<a href="#myModal" role="button" style="position:fixed;top:50px"class="btn" data-toggle="modal">show popup</a>'); 

則可以增加與我上面提到的URL的iframe(相同的方法,接着的Joomla當你推在文章編輯「圖像」)

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><iframe id="choose-image" src="http://joomla31.cloudaccess.net/administrator/index.php?option=com_media&view=images&tmpl=component&e_name=jform_articletext&asset=com_content&author="></iframe></div> 

從控制檯或動態JS執行,

jQuery("body").append('<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><iframe id="choose-image" src=""></iframe></div>'); 
jQuery('#choose-image').attr("src","http://joomla31.cloudaccess.net/administrator/index.php?option=com_media&view=images&tmpl=component&e_name=jform_articletext&asset=com_content&author="); 

然後,您可以在頁面中提供jInsertEditorText(文本,編輯器){....}函數,並在彈出窗口上選擇圖像後處理插入操作。 或者乾脆提供了插入按鈕 嘗試調用自定義處理以下從控制檯或腳本代碼

Query("iframe#choose-image").load(function(){jQuery("#choose-image").contents().find(".btn.btn-primary:contains('Insert')").attr("onclick","").click(function(){alert(jQuery("#choose-image").contents().find("#f_url").val());});}); 

它基本上刪除默認的onclick腳本,並通過展示上所選擇的圖像路徑增加點擊自定義處理警報對話框。

+0

嗨,謝謝melc。抱歉你能否清楚解釋它..還需要相同的預覽取消按鈕。如何在窗體中顯示?而不是使用正常的文件上傳? – karthikeyan

+0

通過提供一步一步的示例編輯答案。請注意,在jQuery加載iframe之後,您可以以任何想要的方式修改整個視圖,即刪除/隱藏字段,更改標題等 – melc