Документация для разработчиков
Темная тема

ShowScript

Описание

CAdminFileDialog::ShowScript(
 Array arConfig
)

Метод принимает массив конфигурационных параметров и генерирует скрипты, необходимые для показа файлового диалога. Статический метод.

Параметры

Единственным параметром метода является ассоциативный массив, ключами которого являются параметры вызова диалога. Ключи и их описания приведены ниже в таблице.

Ключ Описание
event Строка, содержащая имя Javascript-функции, которая вызывает файловый диалог. Функция должна быть задана в глобальной области видимости.
arResultDest Ассоциативный массив, определяющий способ возврата результата файлового диалога. Возможные следующие варианты задания.
  1. Результат выбора пользователя возвращается в функцию.

    В этом случае массиве должен иметь ключ FUNCTION_NAME со значением, равным имени Javascript-функции, заданной в глобальной области видимости.

    Если operation = "O" (латинская буква "О"), функция возвращает 3 параметра в случае выбора пользователем файла:

    • filename - имя выбранного файла;
    • path - путь к выбранному файлу;
    • site - ID сайта.

    В случае, если operation = "S", то дополнительно передаются ещё 2 параметра:

    • title - заголовок сохраняемой страницы;
    • menu - ассоциативный массив, определяющий необходимость сохранения страницы в меню.
  2. Результат выбора пользователя возвращается в заданный элемент заданной формы.

    Чтобы передать результат выбора пользователя в некоторый элемент некоторой формы, следует определить в массиве следующие ключи:

    • FORM_NAME - id формы;
    • FORM_ELEMENT_NAME - имя элемента формы.
  3. Результат выбора пользователя возвращается в элемент с заданным ID.

    В данном случае, следует задать ключ ELEMENT_ID, равный ID элемента. В атрибут value этого элемента будет занесен результат.

arPath Ассоциативный массив, задающий путь. Массив может быть пустым или содержать один из следующих ключей:
  • PATH - заданный путь;
  • SITE - id сайта.
select Определяет, какие объекты может выбирать пользователь в диалоге:
  • "F" - выбор только файлов;
  • "D" - выбор только директорий.
operation Определяет режим работы файлового диалога:
  • "O" - открытие файлов или директорий
  • "S" - сохранение файлов
showUploadTab Определяет, показывать ли вкладку загрузки файлов (имеет силу только, если operation = "O"):
  • true - показывать;
  • false - не показывать.
showAddToMenuTab Определяет, показывать ли вкладку добавления страницы в меню (имеет силу только, если operation = "S"):
  • true - показывать;
  • false - не показывать.
fileFilter Фильтр файлов по расширению, может принимать следующие значения:
  • "" - фильтр отсутствует (выпадающий список отображаться не будет);
  • "image" - предустановленный вариант файлового фильтра ("Все рисунки");
  • "ext1,ext2,ext3" - строка со списком расширений файлов (в данном примере ext1,ext2,ext3), перечисленных через запятую.
allowAllFiles Определяет, позволять ли пользователям выбирать вариант "Все файлы(*.*)" в файловом фильтре (имеет силу только, если параметр fileFilter не равен ""):
  • true - позволять;
  • false - не позволять.
SaveConfig Определяет, будут ли сохраняться пользовательские настройки диалога (вид, сортировка, путь):
  • true - сохранять;
  • false - не сохранять.

Пример

Пример вызова диалога открытия файла:


CAdminFileDialog::ShowScript(Array
	(
		"event" => "OpenImage",
		"arResultDest" => Array("FUNCTION_NAME" => "SetImageUrl"),
		"arPath" => Array(),
		"select" => 'F',
		"operation" => 'O',
		"showUploadTab" => true,
		"showAddToMenuTab" => false,
		"fileFilter" => 'image',
		"allowAllFiles" => true,
		"saveConfig" => true
	)
);

<script>
document.getElementById("open_dialog_button").onclick = OpenImage;
var SetImageUrl = function(filename,path,site)
{
	// Обработка результата
	alert("filename = "+filename+"; /n path = "+path+"; /n site = "+site);
}
</script>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх