Охохо... интересная задачка!
Особенно когда документации не то, что по диску, по корпоративному порталу не проработано.
Насколько я знаю все сущности диска (папки и файлы) являются обьектами и хранятся в b_disk_object. Высокоуровнего доступа (с Drive по цепочке в Storage и т.д.) к этим данным пока еще нет (и неизвестно будут ли). Значит пойдем другим путем. Предположим мы хотим достать все файлы, загруженные в хранилище "Маркетинговые документы".
Поехали:
Ну вот собственно и все
Класс Objects это описание таблицы (d7), так что можно дальше извращаться как угодно.
В решение есть несколько, если уж не костылей, то "палок" уж точно. Хардкодить конечно не очень хорошо, но что делать, если своего инструмента нет.
Особенно когда документации не то, что по диску, по корпоративному порталу не проработано.
Насколько я знаю все сущности диска (папки и файлы) являются обьектами и хранятся в b_disk_object. Высокоуровнего доступа (с Drive по цепочке в Storage и т.д.) к этим данным пока еще нет (и неизвестно будут ли). Значит пойдем другим путем. Предположим мы хотим достать все файлы, загруженные в хранилище "Маркетинговые документы".
Поехали:
| Код |
|---|
<?php
// Будем считать что пролог уже подключен
// Для уменьшения кода
use \Bitrix\Main\Loader;
use \Bitrix\Disk\Internals\ObjectTable as Objects;
// 492 - идентификатор хранилища "Маркетинговые документы" в b_disk_storage
$iStorage = 492;
if ( Loader::IncludeModule('disk') ) {
$resObjects = Objects::getList([
'select' => ['ID'], // Для простоты - будем доставать только ID
'filter' => [
'STORAGE_ID' => $iStorage,
'>=CREATE_TIME' => date('d.m.Y 00:00:00',strtotime('now - 120 days')), // предположим что достаем все события за 120 дней с текущей даты
'TYPE' => Objects::TYPE_FILE, // Доставать будет только файлы (папки трогать не будем)
]
]);
while( $arObject = $resObjects->fetch() ) {
// как-то работаем с Id файла
// например var_dump($arObject['ID']);
}
} else {
// вывод ошибки
}?> |
Ну вот собственно и все
Класс Objects это описание таблицы (d7), так что можно дальше извращаться как угодно.В решение есть несколько, если уж не костылей, то "палок" уж точно. Хардкодить конечно не очень хорошо, но что делать, если своего инструмента нет.
Голосуй за идеи по развитию API Bitrix: