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