Hello,
I have successfully solve the problem myself .. but I do not know what I do is correct and safe..
I use MODX 0.9.6.3, and I want make TV for view media folder in manager.. but there is no option in the input type for media..
First I edit
mutate_tmplvars.dynamic.php file and add this script on line 319
<option value="media" <?php echo ($content['type']=='media')? "selected='selected'":""; ?>>Media</option>
Second, add script at
tmplvars.inc.php
case "media": // handles the input of file uploads
global $_lang;
global $ResourceManagerLoaded;
global $content,$use_editor,$which_editor;
if (!$ResourceManagerLoaded && !(($content['richtext']==1 || $_GET['a']==4) && $use_editor==1 && $which_editor==3)){
$field_html .="
<script type=\"text/javascript\">
var lastImageCtrl;
var lastFileCtrl;
function OpenServerBrowser(url, width, height ) {
var iLeft = (screen.width - width) / 2 ;
var iTop = (screen.height - height) / 2 ;
var sOptions = 'toolbar=no,status=no,resizable=yes,dependent=yes' ;
sOptions += ',width=' + width ;
sOptions += ',height=' + height ;
sOptions += ',left=' + iLeft ;
sOptions += ',top=' + iTop ;
var oWindow = window.open( url, 'FCKBrowseWindow', sOptions ) ;
}
function BrowseServer(ctrl) {
lastImageCtrl = ctrl;
var w = screen.width * 0.7;
var h = screen.height * 0.7;
OpenServerBrowser('".$base_url."manager/media/browser/mcpuk/browser.html?Type=images&Connector=".$base_url."manager/media/browser/mcpuk/connectors/php/connector.php&ServerPath=".$base_url."', w, h);
}
function BrowseFileServer(ctrl) {
lastFileCtrl = ctrl;
var w = screen.width * 0.7;
var h = screen.height * 0.7;
OpenServerBrowser('".$base_url."manager/media/browser/mcpuk/browser.html?Type=files&Connector=".$base_url."manager/media/browser/mcpuk/connectors/php/connector.php&ServerPath=".$base_url."', w, h);
}
function BrowseMediaServer(ctrl) {
lastFileCtrl = ctrl;
var w = screen.width * 0.7;
var h = screen.height * 0.7;
OpenServerBrowser('".$base_url."manager/media/browser/mcpuk/browser.html?Type=media&Connector=".$base_url."manager/media/browser/mcpuk/connectors/php/connector.php&ServerPath=".$base_url."', w, h);
}
function SetUrl(url, width, height, alt){
if(lastFileCtrl) {
var c = document.mutate[lastFileCtrl];
if(c) c.value = url;
lastFileCtrl = '';
} else if(lastImageCtrl) {
var c = document.mutate[lastImageCtrl];
if(c) c.value = url;
lastImageCtrl = '';
} else {
return;
}
}
</script>";
$ResourceManagerLoaded = true;
}
$field_html .='<input type="text" id="tv'.$field_name.'" name="tv'.$field_name.'" value="'.$field_value .'" '.$field_style.' onchange="documentDirty=true;" /> <input type="button" value="'.$_lang['insert'].'" onclick="BrowseMediaServer(\'tv'.$field_name.'\')" />';
break;
And add this function for images and files at
tmplvars.inc.php :
function BrowseMediaServer(ctrl) {
lastFileCtrl = ctrl;
var w = screen.width * 0.7;
var h = screen.height * 0.7;
OpenServerBrowser('".$base_url."manager/media/browser/mcpuk/browser.html?Type=media&Connector=".$base_url."manager/media/browser/mcpuk/connectors/php/connector.php&ServerPath=".$base_url."', w, h);
}
This work well for me, but if that is the way that I do wrong or there is a better way .. please let me know ..
Regards,
Syu11