Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Импорт фотографий в самописную галерею

00 голосов
4
Добрый день.
Хотел бы проконсультироваться... Сделал совсем простенькую фотогалерею, информационный блок, в нем один элемент - одна фотография.

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

Мысль просто сделать в цикле нужное количество  CIBlockElement::Add .

Но возник вопрос по именам фотографий и папок, в которых они лежат. Имена Битрикс дает причудливые типа upload/iblock/26a/26a4bdb91aaf3cb4fc71fb28478922fb.jpg .

Могу ли я давать произвольные имена, какие мне удобно, т е сложить в iblock/upload примерно так:
1_1/image.jpg
1_2/image.jpg
1_3/image.jpg

А потом прописать эти пути для создаваемого свойства создаваемого элемента, или есть подводные камни и имена должны даваться согласно какому-то принципу ?
спросил 06 Янв, 14 от ddvfty (440 баллов)

4 Ответы

00 голосов
Действительно, можно пропарсить файлы и выдать другие имена вместо причудливых.

Имея данные по файлам в виде:

Код
<Номенклатура>
         <УникальныйИдентификатор>af4d56e6-8c76-11dd-8b68-00195b8a974b</УникальныйИдентификатор>         
         <УникальныйИдентификаторРодитель>00000000-0000-0000-0000-000000000000</УникальныйИдентификаторРодитель>
         <ЕдиницаХраненияОстатковУникальныйИдентификатор>af4d56e7-8c76-11dd-8b68-00195b8a974b</ЕдиницаХраненияОстатковУникальныйИдентификатор>
         <ЕдиницаХраненияОстатков>шт</ЕдиницаХраненияОстатков>
         
      </Номенклатура>
 



Можно сначала получить эти ГУИДы  
Код
ГУИД=Новый УникальныйИдентификатор("a68756df-2706-11e1-9bd2-0016d4ad2cdc");                                             
Для Каждого МД Из Метаданные.Справочники Цикл
         РезСсылка=Справочники[МД.Имя].ПолучитьСсылку(ГУИД);
         
                Сообщить(РезСсылка);
         
      КонецЦикла;

 

.. апотом сопоставить им любое выражение
Цитата
1_1/image.jpg1_2/image.jpg1_2/image.jpg1_3/image.jpg1_3/image.jpg

можно-же StringRegExp паттерном получить все ТОЛЬКО цифры?
ОТВЕТ: Загручкивов - очень много, методов - чуть меньше.
ответил 11 Апр, 14 от Torstinka (440 баллов)
00 голосов
Цитата
mike1982 пишет:
Могу ли я давать произвольные имена, какие мне удобно, т е сложить в iblock/upload примерно так:
Увы, такая возможность отсутствует. Вы можете пойти одним из 2 путей:
1. Залить файлы по ftp, указать пути при добавлении элементов через CIBlockElement::Add - в этом случае ядро скопирует файлы и переименует.
2. Использовать для хранения путей и имен картинок свойства типа "Привязка к файлу на сервере".
ответил 04 Авг, 14 от Pomnep (13,960 баллов)
00 голосов
ramil2012,

Евгений Жуков,

Спасибо за ответы

Вариант "1. Залить файлы по ftp, указать пути при добавлении элементов через CIBlockElement::Add - в этом случае ядро скопирует файлы и переименует. " как раз очень походит на то, что мне необходимо.

Сложу все файлы за пределы upload/iblock, потом, когда они скопируются, удалю
ответил 08 Дек, 14 от ddvfty (440 баллов)
00 голосов
CIBlockElement:Add - там в примере как раз показана такая ситуация.
ответил 31 Март, 15 от Pomnep (13,960 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
3 ответов
+1 голос
1 ответ
0 голосов
1 ответ
0 голосов
1 ответ
спросил 20 Июль, 13 от KaCnEp (160 баллов)