UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: diii3 от 11 Февраля 2012, 00:43:44
-
Здравствуйте! Нужно при загрузки изображений на сайт через форму добавления объекта каталога сделать так, чтобы картинки автоматически уменьшались в размере. Я нашел в документации к системе нужный макрос, но что-то не очень пойму как его туда поставить) Может есть пример какой-нибудь? Я бы переделал) Спасибо заранее.
-
Может быть я не правильно понял логику загрузки? Может фото может загружаться только в своем размере без автоматического изменения, а потом только уменьшаться при показе на сайте?
-
фотка загружается как есть (рекомендую сделать её маленькой, но качество как для самого большого варианта), а при выводе на сайт её можно уменьшить(создать превью) макросами udata://system/makeThumbnail/ или udata/system/makeThumbnailFull/
-
Понял, спасибо!
-
Добрый день!
Возник следующий вопрос в этой теме: вписываю код уменьшения изображения следующим образом
<xsl:template match="property[@type='img_file']" mode="bl5">
<xsl:param name="imi" select=".//value/@path" />
<xsl:param name="imim" select="document(concat('udata://system/makeThumbnail/(', $imi, ')/(auto)/100'))/udata/src" />
<div class="img">
<img src="{$imim}" width="150" />
</div>
</xsl:template>
После этого браузер выдает ошибку:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 13760 bytes) in /home/c/cl95044/public_html/classes/system/entities/umiFile/umiImageFile.php on line 261
Это о чем, подскажите?
-
При том, если изображение небольшое, такой ошибки нет и все нормально работает. Может дело в хостинге? Не хватает каких-то ресурсов для обработки большего объема данных?
-
дело в том, что при работе с уменьшением фотки потребляется много ресурсов хостинга, нужно чтобы фото было поменьше в килобайтах, а то например sweb с картинками уже в 3 мб начинает такие сообщения выдавать.
или иногда бывает проблема, когда на странице пытаешься вывести сразу 10 фотографий, размером в 3 и более мб и так как система еще не создавала их превью, хостингу очень тяженько (наблюдения при работе с минимальным хостингом sweb)
-
В этом случае сайт размещен на timeweb.
Я так понимаю, что выход или использовать тариф для высоко нагруженных проектов или ставить ограничение на размер фотографий при загрузки на сайте, правильно?
-
или переписывать преобразование картинки более экономным способом или преобразовывать их по малому кол-ву.
я обычно легко решаю вопрос уменьшением веса фото до 1 мб или ниже
-
Я не очень понимаю как это сделать. Фото загружают на сайт посетители через форму добавления объекта каталога. После этого вывод происходит следующим образом:
<xsl:template match="property[@type='img_file']" mode="bl5">
<xsl:param name="imi" select=".//value/@path" />
<xsl:param name="imim" select="document(concat('udata://system/makeThumbnail/(', $imi, ')/(auto)/100'))/udata/src" />
<div class="img">
<img src="{$imim}" width="150" />
</div>
</xsl:template>
Здесь нужно как-то по другому обрабатывать данные? Или вы что-то иное имели ввиду?
-
тебе надо поставить проверку при загрузке фото пользователем, чтобы файл был определенных типов (чтобы тебе ничего левого не подкинули) и проверку на размер фото, чтобы фото было не больше определенного веса и определенного размера, это уже тебее к редактированию функции добавления контента пользователем
-
Понял. Спасибо!