Почему такая гибкая система как Битрикс оказывается не лишена недостатков?
1. Почему указывая ссылку на файл, УЖЕ находящийся в папке веб-сервера, битрикс перезаливает его еще раз в папку upload?
2. Почему при изменении исходного размера картинки через CFile::ResizeImageGet уменьшеная копия не удаляется при удалении основного изображения, а также не изменяется при изменении основной картинки?
3. Почему для картинок ДИНАМИЧЕСКОГО контента нельзя использовать ДИНАМИЧЕСКУЮ же картинку, равно как и подгружающуюся с другого источника?
3. Почему Битрикс не видит картинок, указанных не явно в ссылке как jpg, т.е. ссылка на картинку вида /image.php?id=123 для битрикса не является картинкой!
По вопросам можно сказать что вы только начинаете осваивать битрикс
1) Потому, что над файлом происходят различные манипуляции (изменение размера, изменение имени, изменение качества). Свойства файла записываются в БД при этом.
2) А почему она должна удаляться? Все правильно, не должна, т.к. она может использоваться где-то.
3) Непонятно что вы хотите. Сделайте свойство ИБ строковое и заливайте туда адрес картинки.
4) Я тоже не вижу этой картинки. Что вообще это за запись? её видимо скрипт какой-то обрабатывает и отдает
P.S.: Вы просто не умеете готовить его, научитесь и не будет таких вопросов. Появятся другие, более серьезные
Желательно такое написать техподдержке и нам дать сюда от них ответ :-)
И не слушайте нюней о том что битрикс отвратительная cms....сколько об этом уже можно писать? На хабре написали пост о том что битрикс там чуть новый год каким-то парням не дал отпраздновать. Полили нормально, хабр крут. Не думал что такое могут туда допустить.
1. это кажется нерациональным, но видимо именно такой подход является наиболее разумным в большинстве случаев. вы можете использовать свойство типа "строка" для хранения адреса картинки - тогда с ней не будет происходить никаких изменений.
2. потому что это по сути кеш. вы же используете CFile::ResizeImageGet в шаблоне, а не ссылаетесь на кешированную картинку? иначе это было бы глупо.
3. что значит "динамическую картинку"? желание использовать картинки с чужого сайта у вас пропадет при первой необходимости оптимизировать сайт, или когда у вас по независящим от вас причинам пропадут все картинки на сайте.
4. всего скорее ответ сервера не содержит корректных заголовков. т.е. все зависит от скрипта генерации картинок.
Опишу поподробнее:
Есть свой сервер видеонаблюдения, адреса текущего изображения с камер берутся через php-скрипт, где в запросе указывается грубо говоря номер камеры. При вводе этого адреса просто в строку браузера все замечательно, картинка есть, но битрикс почемуто не считает это картинкой.
Далее раз уж вы считаете что ресайзнутая картинка это кеш, то почему нельзя этот "кеш" отключить, чтобы картинка создавалась каждый раз, когда идет обращение к ResizeImageGet. Но такого не происходит, картинка по сути остается статическим изображением. Выяснено опытным путем, что только ручное удаление ресайзнутой картинки побуждает сделать битрикс новую картинку.
Вобщем проблема то решена, но костылем в виде скрипта, который периодически через wget подгружает новые картинки и удаляет ресайзнутые.