Доброго времени суток. Объясните, пожалуйста, популярно (желательно на примере) как работать с функцией file_scan_directory. Нужно вывести в друпал содержимое папки (любой, на самом деле, но для примера /var/www/). Никак не могу понять, как сделать. Знаю, что нужно прописывать функцию в файле .js. А вот что именно нужно прописать в файле, чтобы вывести содержимое?
Комментарии
Понимаете не правильно. К JS эта функция отношения не имеет. Она вызывается в каком-нибудь вашем модуле, или на худой конец теме, её вывод обрабатывается необходимым образом, и отдаётся клиенту.
Более подробно можно описать, если понимать, где и зачем вам нужно выводить список папок.
Вот в том-то и дело) У меня есть свой модуль, к нему подключен файл .js. И через этот модуль нужно вывести содержимое папки.
Вот полное описание задания для полноты картины.
1. Установить Ubuntu Server на виртуалке (без графической оболочки)
2. Установить на этом сервере систему Drupal 7
3. На Drupal 7 сделать Тестовую систему.
Требование к тестовой системе:
Описание задачи в двух словах: сделать веб-приложение, которое будет по требованию пользователя в браузере выполнять консольные команды на сервере и выводить результат в браузер.
Детали:
1. Сделать пару папок на сервере в домашней директории и по паре произвольных текстовых файлов в этих папках (чтобы в них что-то было).
2. В системе друпал надо дать возможность заводить документы, в которых можно в определенном поле указать путь к созданным на шаге 1 папкам.
3. Сделать страницу, которая будет выводить все созданные на шаге 2 документы. Напротив каждого документа должна быть кнопка. По нажатию на кнопку нужно показывать пользователю содержимое соответствующей папки (фактически, должен показываться результат выполнения команды ls в этой папке).
Я создал свой тип документов, создал view, в этой view есть поле где находится "кнопка" "Показать файлы". Но это не кнопка, а просто текст. И вот к этому полю нужно привязать выполнение программы.
http://www.drupal.ru/node/105741
человек, зачем плодить дубли тем?
развивай одну - а если нет ответа...
это не повод мусорить.
Я на форуме второй день, так что извините, если чего не так.
Просто вопрос уже малость в другом. То, что там посоветовали - оказалось немного не тем. Первый ответ - подходит, но я не совсем понял. Второй - работает, но через это, как оказалось, выполнять нельзя. Требования такие. Именно поэтому и создал еще одну тему
возможно, будет полезна эта стр.:
http://drupalcontrib.org/api/drupal/contributions!coder!coder_upgrade!tests!new!samples!example.module/function/example_file_scan_directory/7
да и ресурс в целом.
Благодарю
в общем, дело такое:
вот так описываю функцию, которая должна выводить файлы (описываю в .module)
function process () {
$.ajax({
type: 'PUT',
url: Drupal.settings.basePath + 'views-field-field-path-to-directory',
data: {'field_datasource': val},
success: function(response){
files = array();
$files = array_merge(file_scan_directory($val));
return $files;
}
});
}
вот так вызываю ее при клике в файле .js
$('views-field-nothing').click(function() {
file_scan_directory($views-field-field-path-to-directory)
}
но бесполезно. сайт даже не грузится. кто-нибудь может подсказать, что я делаю не так?
Вообще всё. Вы даже не понимаете различия между javascript и php.
Автор, а кто вам дал это задание? Если это тестовое для трудоустройства, думаю вам не стоит тратить время. А если в университете - то они же чему-то вас там учили, прежде чем дать задание? Перечитайте конспекты, чтоли.
Ну стоит или нет - это уже мне решать. Там в курсе, что всё с нуля. И ошибку я уже свою понял. Но спасибо.