UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: diii3 от 11 Февраля 2012, 00:43:44

Название: Уменьшение размера изображения
Отправлено: diii3 от 11 Февраля 2012, 00:43:44
Здравствуйте! Нужно при загрузки изображений на сайт через форму добавления объекта каталога сделать так, чтобы картинки автоматически уменьшались в размере. Я нашел в документации к системе нужный макрос, но что-то не очень пойму как его туда поставить) Может есть пример какой-нибудь? Я бы переделал) Спасибо заранее.
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 14 Февраля 2012, 12:38:16
Может быть я не правильно понял логику загрузки? Может фото может загружаться только в своем размере без автоматического изменения, а потом только уменьшаться при показе на сайте?
Название: Re:Уменьшение размера изображения
Отправлено: admin от 21 Февраля 2012, 21:14:19
фотка загружается как есть (рекомендую сделать её маленькой, но качество как для самого большого варианта), а при выводе на сайт её можно уменьшить(создать превью) макросами udata://system/makeThumbnail/ или udata/system/makeThumbnailFull/
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 21 Февраля 2012, 21:57:12
Понял, спасибо!
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 03 Марта 2012, 19:40:45
Добрый день!

Возник следующий вопрос в этой теме: вписываю код уменьшения изображения следующим образом

  <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

Это о чем, подскажите?
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 03 Марта 2012, 20:00:30
При том, если изображение небольшое, такой ошибки  нет и все нормально работает. Может дело в хостинге? Не хватает каких-то ресурсов для обработки большего объема данных?
Название: Re:Уменьшение размера изображения
Отправлено: admin от 03 Марта 2012, 20:25:01
дело в том, что при работе с уменьшением фотки потребляется много ресурсов хостинга, нужно чтобы фото было поменьше в килобайтах, а то например sweb с картинками уже в 3 мб начинает такие сообщения выдавать.

или иногда бывает проблема, когда на странице пытаешься вывести сразу 10 фотографий, размером в 3 и более мб и так как система еще не создавала их превью, хостингу очень тяженько (наблюдения при работе с минимальным хостингом sweb)
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 03 Марта 2012, 21:09:30
В этом случае сайт размещен на timeweb.

Я так понимаю, что выход или использовать тариф для высоко нагруженных проектов или ставить ограничение на размер фотографий  при загрузки на сайте, правильно?
Название: Re:Уменьшение размера изображения
Отправлено: admin от 03 Марта 2012, 21:14:17
или переписывать преобразование картинки более экономным способом или преобразовывать их по малому кол-ву.

я обычно легко решаю вопрос уменьшением веса фото до 1 мб или ниже
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 03 Марта 2012, 21:57:35
Я не очень понимаю как это сделать. Фото загружают на сайт посетители через форму добавления объекта каталога. После этого вывод происходит следующим образом:

<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>

Здесь нужно как-то по другому обрабатывать данные? Или вы что-то иное имели ввиду?
Название: Re:Уменьшение размера изображения
Отправлено: admin от 03 Марта 2012, 22:04:56
тебе надо поставить проверку при загрузке фото пользователем, чтобы файл был определенных типов (чтобы тебе ничего левого не подкинули) и проверку на размер фото, чтобы фото было не больше определенного веса и определенного размера, это уже тебее к редактированию функции добавления контента пользователем
Название: Re:Уменьшение размера изображения
Отправлено: diii3 от 03 Марта 2012, 22:22:55
Понял. Спасибо!