Довольно часто интернет-магазины работают «с колес» — не имея собственного склада получают остатки и стоимость ежедневно от поставщика и обновляют у себя цены и наличие. Эту задачу можно разложить на 2 составляющие: обеспечить получение файла от поставщика и внесение изменений в каталог. Вторая задача — индивидуальна у каждого клиента, а вот первую можно и нужно автоматизировать. В чем преимущества автоматизации? Да все просто — все сделано за вас: скачивание, логирование результата, почтовое событие. Надо только указать пути и проверить настройки.
Всегда при установке этого модуля выводится руководство на случай возникновения ошибок при установке:
Рис.1. Руководство по возможным ошибкам при установке модуля
Настройки и работа Для настроек модуля необходимо перейти в раздел Администрирование->Настройки->Настройки продукта->Настройки модулей->Автоматическая загрузка файлов:
Рис. 2. Основные настройки модуля “Автоматическая загрузка файлов”
В настройках указываем наименование папки, в которую необходимо скачивать все указанные файлы. Для отслеживания работы модуля лучше включить логирование, все события станут записываться в журнал (Администрирование->Настройки->Инструменты->Журнал событий):
Рис. 3. Логирование событий модуля в журнал
Для автоматической загрузки файлов необходимо прописать ссылки на файлы, которые необходимо скачать. Список ссылок для скачивания файлов хранится в разделе Администрирование->Контент->Sebekon-автозагрузка файлов->Ссылки (отсюда можно переходить к добавлению новых ссылок на скачивание файлов, необходимо кликнуть кнопку “Добавить элемент”):
Рис. 4. Список ссылок на файлы для скачивания
При переходе к добавлению новой ссылки для скачивания файла - открывается форма, которую необходимо заполнить и сохранить:
Рис. 5. форма добавления ссылки на файл стороннего ресурса
Таблица 1. Значение полей в форме элемента
Название поля
Значение поля
Название
Наименование ссылки, которое будет выводиться в списке всех ссылок.
Ссылка на файл
указываем прямую ссылку на файл
Часы для загрузки
интервал времени для возможной загрузки файлов указываем по времени сервера
Сохранить как
указываем имя файла, под которым он будет сохранен в указанную в настройках папку (расширение файла указывать не обязательно) Расширение файла не указывается (оно берется из ссылки на загружаемый файл), указывается имя файла и можно указать подпапку для сохранения файла. Например: в настройках модуля все файлы сохраняются в директорию /upload/downloaded_files/ и у нас загружается 1 файл http://my-site.com/file.xml
Если ничего не указывать в поле ‘Сохранить как’, то этот файл сохранится сюда /upload/downloaded_files/file.xml
Если в поле ‘Сохранить как’ указать ‘its_my_file’, то файл сохранится так: /upload/downloaded_files/its_my_file.xml
Если в поле ‘Сохранить как’ указать ‘/from_my_site/its_my_file’, то файл сохранится так: /upload/downloaded_files/from_my_site/its_my_file.xml
Сделано это для того, чтобы можно было сортировать файлы по папкам, если, например, их много.
Дата последней загрузки
Дата вписывается автоматически, после того как наступит время возможной/разрешенной загрузки для файла и файл скачается и сохранится на сайт.
Рис. 6. Заполняем форму для добавления ссылки
На данный момент в поле “Часы для загрузки” указывается 1 час. Т.е., если нужно загружать каждый час, например, с 8 по 15, то придется указать значение в 8 полях
Рис. 7. Подсказка “Как сохраняем файл”
После наступления времени, в которое разрешено скачивать файл - автоматически начнется скачивание. Скачанные файлы можно посмотреть в папке, адрес которой указан в настройках. У ссылок в списке прописывается дата последнего скачивания файла. Скачивание файла вручную (разработчику) 1) Для работы с функциями модуля, его необходимо подключить (для этого нужно чтобы модуль загрузки файлов был установлен): CModule::IncludeModule('sebekon.filedownloader'); 2) Вызываем загрузку файла по его пути: 2.1) Без создания объекта класса CFileDownloader (в данном случае он не нужен): sb\CFileDownloader::DownloadFile($link, $nameToSave = ''); 2.2) с созданием объекта: $fdObj = new sb\CFileDownloader; $fdObj->downloadFile($link, $nameToSave = ''); --- где $link - полный путь к файлу, $nameToSave - название/путь сохранения для файла (т.е это может быть например file1 или /dir1/file1) расширение скрипт присваивает файлу сам, исходя из расширения скачиваемого файла.
Все файлы сохраняются в директорию, указанную в настройках модуля. (например /upload/downloaded_files/file1.csv, /upload/downloaded_files/dir1/file1.csv Преимущества и перспективы использования модуля - автоматическая загрузка файлов со сторонних ресурсов и сохранение их в папке сайта - настраиваемое время для загрузки файлов на сайт, позволяет выбирать наиболее удобный момент загрузки, избегать дополнительной нагрузки на сайт в моменты наивысшей посещаемости сайта пользователями.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».