We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27552
    • 24 Posts
    Пишу модуль, нужно, чтобы на странице модуля - появилось такое же меню выбора изображения, как появляется когда создаёшь TV параметр Image для документа. Поле типа текст напротив кнопка ’вставить’, нажав на которую открывается окно загрузки файлов, нажимаешь на файл - его путь появляется в поле типа текст.
    Заранее спасибо за ответ
      • 785
      • 2,113 Posts
      Во-первых, надо указывать версию системы, а во-вторых проще всего посмотреть, как это сделано в MODx и сделать аналогично.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 27552
        • 24 Posts
        версия 0.9.6.1
        я смотрел как это сделано, копировал код , появлялось поле типа текст и кнопка вставить, когда нажимал на вставить окошко появлялось выбора файлов, но когда тыкал на файл - он не выбирался
          • 785
          • 2,113 Posts
          Версия очень старая, лучше бы ее обновить. Должно работать примерно так:
          <input type="text" id="myfile" name="myfile" value="" /> <input type="button" value="Вставить файл" onclick="BrowseServer(’myfile’)" />
          Естественно должны быть загружены нужные программы JavaScript.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 27552
            • 24 Posts
            Решено smiley

            Проблема была в том, что форма называлась не так, как требуется. Вообщем вот пример формы выбора файла:
            <form method="post" name="mutate" enctype="multipart/form-data">
            
            <input type="text" id="myfile" name="myfile"  value="" onchange="documentDirty=true;"/> 
            <input type="button" value="Вставить файл" onclick="BrowseServer('myfile')" />
            </form>
            


            В этом же файле, где расположена эта форма, нужно дописать js код:
            <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('/manager/media/browser/mcpuk/browser.html?Type=images&Connector=/manager/media/browser/mcpuk/connectors/php/connector.php&ServerPath=/', 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>
            

            This discussion is closed to further replies. Keep calm and carry on.