Довольно часто интернет-магазины работают «с колес» — не имея собственного склада получают остатки и стоимость ежедневно от поставщика и обновляют у себя цены и наличие.
Эту задачу можно разложить на 2 составляющие: обеспечить получение файла от поставщика и внесение изменений в каталог.
Вторая задача — индивидуальна у каждого клиента, а вот первую можно и нужно автоматизировать. В чем преимущества автоматизации? Да все просто — все сделано за вас: скачивание, логирование результата, почтовое событие. Надо только указать пути и проверить настройки.
Представляю Вам модуль «Автоматическое скачивание файла»
Модуль уже прошел модерацию и доступен в каталоге Marketplace .
Всегда при установке этого модуля выводится руководство на случай возникновения ошибок при установке:

Рис.1. Руководство по возможным ошибкам при установке модуля
Настройки и работа
Для настроек модуля необходимо перейти в раздел Администрирование->Настройки->Настройки продукта->Настройки модулей->Автоматическая загрузка файлов:

Рис. 2. Основные настройки модуля “Автоматическая загрузка файлов”
В настройках указываем наименование папки, в которую необходимо скачивать все указанные файлы. Для отслеживания работы модуля лучше включить логирование, все события станут записываться в журнал (Администрирование->Настройки->Инструменты->Журнал событий):

Рис. 3. Логирование событий модуля в журнал
Для автоматической загрузки файлов необходимо прописать ссылки на файлы, которые необходимо скачать. Список ссылок для скачивания файлов хранится в разделе Администрирование->Контент->Sebekon-автозагрузка файлов->Ссылки (отсюда можно переходить к добавлению новых ссылок на скачивание файлов, необходимо кликнуть кнопку “Добавить элемент”):

Рис. 4. Список ссылок на файлы для скачивания
При переходе к добавлению новой ссылки для скачивания файла - открывается форма, которую необходимо заполнить и сохранить:

Рис. 5. форма добавления ссылки на файл стороннего ресурса
Таблица 1. Значение полей в форме элемента

Рис. 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
Преимущества и перспективы использования модуля
- автоматическая загрузка файлов со сторонних ресурсов и сохранение их в папке сайта
- настраиваемое время для загрузки файлов на сайт, позволяет выбирать наиболее удобный момент загрузки, избегать дополнительной нагрузки на сайт в моменты наивысшей посещаемости сайта пользователями.
Полное описание модуля можете посмотреть на нашем сайте: .
Приобрести модуль можно на Marketplace: . Действуют партнерские скидки.
Разработка модуля: Вадим Цветков.
Тестирование и помощь в написании поста: Алёна Осипенко.
Коллеги, рекомендуем к использованию наш модуль и желаем приятной работы с 1С Битрикс!
Эту задачу можно разложить на 2 составляющие: обеспечить получение файла от поставщика и внесение изменений в каталог.
Вторая задача — индивидуальна у каждого клиента, а вот первую можно и нужно автоматизировать. В чем преимущества автоматизации? Да все просто — все сделано за вас: скачивание, логирование результата, почтовое событие. Надо только указать пути и проверить настройки.
Представляю Вам модуль «Автоматическое скачивание файла»
Модуль уже прошел модерацию и доступен в каталоге Marketplace .
Всегда при установке этого модуля выводится руководство на случай возникновения ошибок при установке:
Рис.1. Руководство по возможным ошибкам при установке модуля
Настройки и работа
Для настроек модуля необходимо перейти в раздел Администрирование->Настройки->Настройки продукта->Настройки модулей->Автоматическая загрузка файлов:
Рис. 2. Основные настройки модуля “Автоматическая загрузка файлов”
В настройках указываем наименование папки, в которую необходимо скачивать все указанные файлы. Для отслеживания работы модуля лучше включить логирование, все события станут записываться в журнал (Администрирование->Настройки->Инструменты->Журнал событий):
Рис. 3. Логирование событий модуля в журнал
Для автоматической загрузки файлов необходимо прописать ссылки на файлы, которые необходимо скачать. Список ссылок для скачивания файлов хранится в разделе Администрирование->Контент->Sebekon-автозагрузка файлов->Ссылки (отсюда можно переходить к добавлению новых ссылок на скачивание файлов, необходимо кликнуть кнопку “Добавить элемент”):
Рис. 4. Список ссылок на файлы для скачивания
При переходе к добавлению новой ссылки для скачивания файла - открывается форма, которую необходимо заполнить и сохранить:
Рис. 5. форма добавления ссылки на файл стороннего ресурса
Таблица 1. Значение полей в форме элемента
| Название поля | Значение поля |
| Название | Наименование ссылки, которое будет выводиться в списке всех ссылок. |
| Ссылка на файл | указываем прямую ссылку на файл |
| Часы для загрузки | интервал времени для возможной загрузки файлов указываем по времени сервера |
| Сохранить как | указываем имя файла, под которым он будет сохранен в указанную в настройках папку (расширение файла указывать не обязательно) Расширение файла не указывается (оно берется из ссылки на загружаемый файл), указывается имя файла и можно указать подпапку для сохранения файла. Например: в настройках модуля все файлы сохраняются в директорию /upload/downloaded_files/ и у нас загружается 1 файл
|
| Дата последней загрузки | Дата вписывается автоматически, после того как наступит время возможной/разрешенной загрузки для файла и файл скачается и сохранится на сайт. |
Рис. 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
Преимущества и перспективы использования модуля
- автоматическая загрузка файлов со сторонних ресурсов и сохранение их в папке сайта
- настраиваемое время для загрузки файлов на сайт, позволяет выбирать наиболее удобный момент загрузки, избегать дополнительной нагрузки на сайт в моменты наивысшей посещаемости сайта пользователями.
Полное описание модуля можете посмотреть на нашем сайте: .
Приобрести модуль можно на Marketplace: . Действуют партнерские скидки.
Разработка модуля: Вадим Цветков.
Тестирование и помощь в написании поста: Алёна Осипенко.
Коллеги, рекомендуем к использованию наш модуль и желаем приятной работы с 1С Битрикс!