|
|
26.09.2016, 11:02
|
|
msweb
«МастерВеб»
Зарегистрирован: 2006-05-26
Сообщений: 17
|
Добрый день!
Поле "множественная загрузке файлов" позволяет генерировать одно изображение и превью к нему.
А мне нужно несколько разных по размеру изображений.
Мне нужно:
1. Чтобы при закачке "Картинка большая - img_file_big" автоматически создавалось превью в "Маленькое превью (из большого) - img_file_small"
И это работает, превью создается с помощью:
Код:if ($_FILES['f_img_file_big']['size']!=0 && $_FILES['f_img_file_big']['type']!=''){
nc_ImageTransform::createThumb('img_file_big', 'img_file_small', 80, 80);
}
2. По аналогии я пытался сделать, чтоб из "Множественная загрузка картинок (Больших) - img_multifile_big" бралась самая первая картинка и создавалась ее превью в поле "Превью первой картинки из множ.загр - img_multifile_first"
вот мой код:
Код:$files_data = $f_img_multifile_big->to_array();
$img_multifile_first_path = $files_data[0]->Path;
nc_ImageTransform::createThumb($img_multifile_first_path,'img_multifile_first',50,50);
Но почему-то превью создается не из img_multifile_big, а из img_file_big.
3. Также мне нужно, чтобы из "Множественная загрузка картинок (Больших) - img_multifile_big" брались все картинки и создавались превью в "Множественная загрузка файлов (Превью из больших) - img_multifile_small"
мой код:
Код:nc_ImageTransform::createThumb('img_multifile_big','img_multifile_small',150,150);
Он также не работает.
Как же все-таки сделать то, что мне нужно?
netcat 5.6
msweb
|
|
|
26.09.2016, 13:09
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Создать компонент в котором будете загружать изображение, а то уже будет делится на десятки если так пожелаете. Далее можете добавить тег и по нему выбирать эти изображения. Или можете пойти дальше и создать множественную привязку.
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
26.09.2016, 13:20
|
|
msweb
«МастерВеб»
Зарегистрирован: 2006-05-26
Сообщений: 17
|
можно ли поподробнее?
Пока не понял, как можно добавить тег и как по нему выбирать.
И для одного только изображения нужно делать отдельный компонент?
Мне-то нужно сделать каталог товаров. В товаре будет множество полей текстовый и цифровых. В том числе, будут картинки.
Картинки хочу чтоб загружались с помощью поля "множественная загрузка файлов".
И нужно чтобы автоматически генерировалось 5 разных размеров одной и той же картинки.
msweb
|
|
|
26.09.2016, 18:01
|
|
Игорь
Игорь Мишарин
Зарегистрирован: 2011-11-20
Сообщений: 482
|
Можно воспользоваться сторонним скриптом, который будет обрабатывать изображения "на лету". Т.е. не генерировать 5 разных размеров, а загрузить одно изображения и из него делать хоть 5, хоть 20 вариантов.
Stark
|
|
|
27.09.2016, 15:24
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Обычный компонент в нем обычное поле файл (Image), поля на каждый размер (Image_Preview, Image_Preview_2) и поле для тега строкой (Tag). Теги можете указывать через запятую если сделаете все как указано ниже.
В действия после добавления/изменения
Код:// Обработка изображений
if($_FILES['f_Image']['size'] != 0 && $_FILES['f_Image']['type'] != ''){
global $nc_core;
require_once($nc_core->INCLUDE_FOLDER . "classes/nc_imagetransform.class.php");
nc_ImageTransform::createThumb('Image', 'Image_Preview', 170, 70, 1); # Превью
nc_ImageTransform::createThumb('Image', 'Image_Preview_2', 190, 157, 1); # Превью
...
}
У вас будет несколько копий одного изображения.
В системных настройках компонента укажите.
Код:if($tag) $query_where = "(a.`Tag` = '".$tag."' OR a.`Tag` LIKE '".$tag.",%' OR a.`Tag` LIKE '%,".$tag.",%' OR a.`Tag` LIKE '%,".$tag."')";
Далее в в месте вывода
Код:<?= nc_objects_list($sub, $cc, "tag=петрушка", true) ?>
Со списком объектов уже сами разберетесь что нужно вывести.
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|