Silver111 Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Здравствуйте, Есть необходимость изменить путь к картинкам. По умолчанию, в админке, в товарах при попытки выбора изображения открывается image/catalog (при нажатии на уровень вверх не перескакивает в другую папку) , надо другой путь, например image. Измения config.php не помогли. Version 2.3.0.2Спасибо всем откликнувшимся. Надіслати Поділитися на інших сайтах More sharing options...
Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 при попытки выбора изображения открывается image/catalog (при нажатии на уровень вверх не перескакивает в другую папку) К чему это? Зачем пихать в корневую папку?Стоит забить её и при наличии слабенького хоста вместо изображений в менеджере картинок будет пусто,даже если там точно что то есть) Надіслати Поділитися на інших сайтах More sharing options... Silver111 Опубліковано: 9 жовтня 2016 Автор Share Опубліковано: 9 жовтня 2016 корневую написал как пример, конкретно нужен путь image/data - как в 1.5 версии( Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Странный конечно подход,который заменит только название оставив всю суть на том же месте. Было image/data Стало image/catalog Что изменится если все картинки не в catalog будут ,а в data ? Меняется запросом в базе данных UPDATE `oc_banner_image` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_category` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_manufacturer` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_product` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_product_image` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_setting` SET `value` = REPLACE ( value , 'catalog/', 'data/' ) WHERE `key` = 'config_logo'; UPDATE `oc_setting` SET `value` = REPLACE ( value , 'catalog/', 'data/' ) WHERE `key` = 'config_icon'; это переименует на уровне базы пути в картинках из image/catalog в image/data.Нужно будет создать эту папку и закинуть в неё все картинки товара. PS но как я думаю это замена мыла на шило... 1 Надіслати Поділитися на інших сайтах More sharing options... Silver111 Опубліковано: 9 жовтня 2016 Автор Share Опубліковано: 9 жовтня 2016 (змінено) Видимо я не достаточно подробно описал причину. Сайт перенес с 1.5 на 2.3. На старой версии все картинки хранились в image/data, а в новой версии (почему то кому то взбрело в голову) в image/catalog. И теперь, если я добавляю товар и мне нужно выбрать картинку из существующих (которая хранится в image/data), я не могу этого сделать т.к. в админке открывается раздел image/catalog. То что вы предлагаете - это замена путей, это не решит проблему открытия в качестве дефолтной папки в админке раздела image/catalog Я не могу все картинки переместить в image/catalog, т.к. в БД ссылки идут на image/data. Все переименовывать ..., если не найду более простого решения видимо придется делать как вы предложили, но только наоборот data в catalog буду менять. Змінено 9 жовтня 2016 користувачем Silver111 Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. UPDATE `oc_banner_image` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_category` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_manufacturer` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_product` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_product_image` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_setting` SET `value` = REPLACE ( value , 'data/', 'catalog/' ) WHERE `key` = 'config_logo'; UPDATE `oc_setting` SET `value` = REPLACE ( value , 'data/', 'catalog/' ) WHERE `key` = 'config_icon'; 2 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. то же самое с переносом сайта, тоже правил этим запросом. но такие ссылки есть еще, например, в описании категории или товара, т.е. не в поле image... вот для них не могу составить запрос. Не поможете? Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Видимо так UPDATE `oc_information_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); UPDATE `oc_category_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); 1 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Спасибо! Я составлял похожий запрос и чет натупил, catalog/ в итоге заменял описание категории полностью собой :) Надіслати Поділитися на інших сайтах More sharing options... 11 months later... gyurza2000 Опубліковано: 7 жовтня 2017 Share Опубліковано: 7 жовтня 2017 Мне тоже пригодилось, спасибо Надіслати Поділитися на інших сайтах More sharing options... 2 months later... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 Здравствуйте, подскажите, запросом в базу поменял пути, к изображениям, но на сайте они все равно отображаются с предыдущего места. В базе в таблице product адрес визуально вижу что изменен... Надіслати Поділитися на інших сайтах More sharing options... Ketty83 Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 кэш изображений обновите )) Надіслати Поділитися на інших сайтах More sharing options... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 5 часов назад, Ketty83 сказал: кэш изображений обновите )) Спасибо. ) был не внимателен, не в той базе делал изменения. Надіслати Поділитися на інших сайтах More sharing options... 11 months later... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 Подскажите, как в OCStore 2.3.0.2 изменить в редакторе товара возможность сразу попадать в папку image. (по дефолту image/catalog) В версии 2.2 получалось путем редактирования файла admin/controller/common/filemanager.php Надіслати Поділитися на інших сайтах More sharing options... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 (змінено) Решение вопроса для версии 2.3.0.2 (замена дефолтной папки загрузки изображений image/catalog на image/ваша папка) Устанавливаем Samarkand File Manager для изображений. Дефолтный не получилось переделать. Редактируем следующий файл admin/controller/common/filemanager.php Заменяем 9ю строку protected $_smkfm_catalog = 'catalog'; на protected $_smkfm_catalog = 'название вашей папки'; Пока ищу. как сделать. чтобы по дефолту грузилось в image каталог с правильным url изображения Змінено 9 грудня 2018 користувачем s3ven 1 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... igorfelix Опубліковано: 23 лютого 2020 Share Опубліковано: 23 лютого 2020 А у меня получилось, выложу новый filemanager.php. Теперь при открытие стандартного менеджера изображений будет открывать сайт.рф/image/ Версия 2.3 опенкарт . <?php classControllerCommonFileManagerextendsController{protectedfunction translit($text){ $rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж","Ж","з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р","с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч","Ч","ш","Ш","щ","Щ","ъ","Ъ","ы","Ы","ь","Ь","э","Э","ю","Ю","я","Я",'/',' '); $eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E","zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O","p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH","sh","SH","sch","SCH","","","y","Y","","","e","E","ju","JU","ja","JA",'',''); $text = strtolower(str_replace($rus,$eng,$text)); $disallow_symbols = array(' '=>'-','\\'=>'-','/'=>'-',':'=>'-','*'=>'','?'=>'',','=>'','"'=>'','\''=>'','<'=>'','>'=>'','|'=>'');return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES,'UTF-8')))),'-');}publicfunction index(){ $this->load->language('common/filemanager');// Find which protocol to use to pass the full image link backif(isset($this->request->server['HTTPS'])&&(($this->request->server['HTTPS']=='on')||($this->request->server['HTTPS']=='1'))){ $server = HTTPS_CATALOG;}else{ $server = HTTP_CATALOG;}if(isset($this->request->get['filter_name'])){ $filter_name = rtrim(str_replace(array('*','/'),'', $this->request->get['filter_name']),'/');}else{ $filter_name =null;}// Save current directoryif(!isset($this->request->get['directory'])){if(!isset($this->request->get['parent'])){//New call Filemanager $this->request->get['directory']= isset($this->request->cookie['file_manager']['directory'])? $this->request->cookie['file_manager']['directory']:''; $this->request->get['page']= isset($this->request->cookie['file_manager']['page'])? $this->request->cookie['file_manager']['page']:1;}else{// Trying to go back to the root directory, delete cookies setcookie('file_manager[directory]','', time()-3600,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager,'', time()-3600,'/', $this->request->server['HTTP_HOST']);}}else{ setcookie('file_manager[directory]', $this->request->get['directory'], time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager, isset($this->request->get['page'])? $this->request->get['page']:1, time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']);}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. str_replace('*','', $this->request->get['directory']),'/');}else{ $directory = DIR_IMAGE;}if(isset($this->request->get['page'])){ $page = $this->request->get['page'];}else{ $page =1;} $directories = array(); $files = array(); $data['images']= array(); $this->load->model('tool/image');if(substr(str_replace('\\','/', realpath($directory).'/'. $filter_name),, strlen(DIR_IMAGE))== DIR_IMAGE){// Get directories $directories = glob($directory .'/'. $filter_name .'*', GLOB_ONLYDIR);if(!$directories){ $directories = array();}// Get files $files = glob($directory .'/'. $filter_name .'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);if(!$files){ $files = array();}}// Merge directories and files $images = array_merge($directories, $files);// Get total number of files and directories $image_total = count($images);// Split the array based on current page number and max number of items per page of 10 $images = array_splice($images,($page -1)*16,16);foreach($images as $image){ $name = str_split(basename($image),14);if(is_dir($image)){ $url ='';if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['images'][]= array('thumb'=>'','name'=> implode(' ', $name),'type'=>'directory','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $this->url->link('common/filemanager','token='. $this->session->data['token'].'&directory='. urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE .''))). $url,true));} elseif (is_file($image)){ $data['images'][]= array('thumb'=> $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)),100,100),'name'=> implode(' ', $name),'type'=>'image','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $server .'image/'. utf8_substr($image, utf8_strlen(DIR_IMAGE)));}} $data['heading_title']= $this->language->get('heading_title'); $data['text_no_results']= $this->language->get('text_no_results'); $data['text_confirm']= $this->language->get('text_confirm'); $data['entry_search']= $this->language->get('entry_search'); $data['entry_folder']= $this->language->get('entry_folder'); $data['button_parent']= $this->language->get('button_parent'); $data['button_refresh']= $this->language->get('button_refresh'); $data['button_upload']= $this->language->get('button_upload'); $data['button_folder']= $this->language->get('button_folder'); $data['button_delete']= $this->language->get('button_delete'); $data['button_search']= $this->language->get('button_search'); $data['token']= $this->session->data['token'];if(isset($this->request->get['directory'])){ $data['directory']= urlencode($this->request->get['directory']);}else{ $data['directory']='';}if(isset($this->request->get['filter_name'])){ $data['filter_name']= $this->request->get['filter_name'];}else{ $data['filter_name']='';}// Return the target ID for the file manager to set the valueif(isset($this->request->get['target'])){ $data['target']= $this->request->get['target'];}else{ $data['target']='';}// CKEditorif(isset($this->request->get['cke'])){ $data['cke']= $this->request->get['cke'];}else{ $data['cke']='';}// Return the thumbnail for the file manager to show a thumbnailif(isset($this->request->get['thumb'])){ $data['thumb']= $this->request->get['thumb'];}else{ $data['thumb']='';}// Parent $url ='&parent=parent';if(isset($this->request->get['directory'])){ $pos = strrpos($this->request->get['directory'],'/');if($pos){ $url .='&directory='. urlencode(substr($this->request->get['directory'],, $pos));}}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['parent']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true);// Refresh $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode($this->request->get['directory']);}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['refresh']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true); $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['filter_name'])){ $url .='&filter_name='. urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $pagination =newPagination(); $pagination->total = $image_total; $pagination->page = $page; $pagination->limit =16; $pagination->url = $this->url->link('common/filemanager','token='. $this->session->data['token']. $url .'&page={page}',true); $data['pagination']= $pagination->render(); $this->response->setOutput($this->load->view('common/filemanager', $data));}publicfunction upload(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if(!$json){// Check if multiple files are uploaded or just one $files = array();if(!empty($this->request->files['file']['name'])&& is_array($this->request->files['file']['name'])){foreach(array_keys($this->request->files['file']['name'])as $key){ $files[]= array('name'=> $this->request->files['file']['name'][$key],'type'=> $this->request->files['file']['type'][$key],'tmp_name'=> $this->request->files['file']['tmp_name'][$key],'error'=> $this->request->files['file']['error'][$key],'size'=> $this->request->files['file']['size'][$key]);}}foreach($files as $file){if(is_file($file['tmp_name'])){// Sanitize the filename $filename = basename($this->translit(html_entity_decode($file['name'], ENT_QUOTES,'UTF-8')));// Validate the filename lengthif((utf8_strlen($filename)<3)||(utf8_strlen($filename)>255)){ $json['error']= $this->language->get('error_filename');}// Allowed file extension types $allowed = array('jpg','jpeg','gif','png');if(!in_array(utf8_strtolower(utf8_substr(strrchr($filename,'.'),1)), $allowed)){ $json['error']= $this->language->get('error_filetype');}// Allowed file mime types $allowed = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');if(!in_array($file['type'], $allowed)){ $json['error']= $this->language->get('error_filetype');}// Return any upload errorif($file['error']!= UPLOAD_ERR_OK){ $json['error']= $this->language->get('error_upload_'. $file['error']);}}else{ $json['error']= $this->language->get('error_upload');}if(!$json){ move_uploaded_file($file['tmp_name'], $directory .'/'. $filename);}}}if(!$json){ $json['success']= $this->language->get('text_uploaded');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunction folder(){ $this->load->language('common/filemanager'); $json = array();//Translit Folder Name $this->request->post['folder']= $this->translit($this->request->post['folder']);// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if($this->request->server['REQUEST_METHOD']=='POST'){// Sanitize the folder name $folder = basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES,'UTF-8'));// Validate the filename lengthif((utf8_strlen($folder)<3)||(utf8_strlen($folder)>128)){ $json['error']= $this->language->get('error_folder');}// Check if directory already exists or notif(is_dir($directory .'/'. $folder)){ $json['error']= $this->language->get('error_exists');}}if(!isset($json['error'])){@mkdir($directory .'/'. $folder,0777); chmod($directory .'/'. $folder,0777);@touch($directory .'/'. $folder .'/'.'index.html'); $json['success']= $this->language->get('text_directory');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunctiondelete(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}if(isset($this->request->post['path'])){ $paths = $this->request->post['path'];}else{ $paths = array();}// Loop through each path to run validationsforeach($paths as $path){// Check path exsistsif($path == DIR_IMAGE || substr(str_replace('\\','/', realpath(DIR_IMAGE . $path)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_delete');break;}}if(!$json){// Loop through each pathforeach($paths as $path){ $path = rtrim(DIR_IMAGE . $path,'/');// If path is just a file delete itif(is_file($path)){@unlink($path);// If path is a directory beging deleting each file and sub folder} elseif (is_dir($path)){ $files = array();// Make path into an array $path = array($path .'*');// While the path array is still populated keep looping throughwhile(count($path)!=){ $next = array_shift($path);foreach(glob($next)as $file){// If directory add to path arrayif(is_dir($file)){ $path[]= $file .'/*';}// Add the file to the files to be deleted array $files[]= $file;}}// Reverse sort the file array rsort($files);foreach($files as $file){// If file just deleteif(is_file($file)){@unlink($file);// If directory use the remove directory function} elseif (is_dir($file)){ rmdir($file);}}}} $json['success']= $this->language->get('text_delete');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}} ' ' Надіслати Поділитися на інших сайтах More sharing options... igorfelix Опубліковано: 24 лютого 2020 Share Опубліковано: 24 лютого 2020 Помогите подправить, в адресе картинки у товара идет два слэша. /image//catalog/gallery/ Надіслати Поділитися на інших сайтах More sharing options... 1 year later... ironzorin2 Опубліковано: 8 липня 2021 Share Опубліковано: 8 липня 2021 (змінено) Другая проблема. Для сайта mysite.ru сделал тестовый test.mysite.ru Так как картинок очень много - решил их не переносить, а заменить в конфигах define('DIR_IMAGE', '/blabla/test.mysite.ru/image/'); на define('DIR_IMAGE', '/blabla/mysite.ru/image/'); И не помогло. На сайте картинки не видны, путь к ним остался с test.mysite.ru. Притом когда чищу кэш изображений из админки - чистит mysite.ru. В файловом менеджере ещё интереснее - структура каталогов из mysite.ru, но сами картинки пытается загрузить из test.mysite.ru Плюнул, сделал ссылкой. Но непонятно, зачем нужны все эти пути конфиге, когда их всё-равно изменить невозможно? --------------------------------- Работает через ссылку нормально. Но в файловом менеджере - пусто Змінено 8 липня 2021 користувачем ironzorin2 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання [Решено] Изменить путь к image/catalog Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Silver111 Опубліковано: 9 жовтня 2016 Автор Share Опубліковано: 9 жовтня 2016 корневую написал как пример, конкретно нужен путь image/data - как в 1.5 версии( Надіслати Поділитися на інших сайтах More sharing options...
Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Странный конечно подход,который заменит только название оставив всю суть на том же месте. Было image/data Стало image/catalog Что изменится если все картинки не в catalog будут ,а в data ? Меняется запросом в базе данных UPDATE `oc_banner_image` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_category` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_manufacturer` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_product` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_product_image` SET `image` = REPLACE ( image , 'catalog/', 'data/' ); UPDATE `oc_setting` SET `value` = REPLACE ( value , 'catalog/', 'data/' ) WHERE `key` = 'config_logo'; UPDATE `oc_setting` SET `value` = REPLACE ( value , 'catalog/', 'data/' ) WHERE `key` = 'config_icon'; это переименует на уровне базы пути в картинках из image/catalog в image/data.Нужно будет создать эту папку и закинуть в неё все картинки товара. PS но как я думаю это замена мыла на шило... 1 Надіслати Поділитися на інших сайтах More sharing options... Silver111 Опубліковано: 9 жовтня 2016 Автор Share Опубліковано: 9 жовтня 2016 (змінено) Видимо я не достаточно подробно описал причину. Сайт перенес с 1.5 на 2.3. На старой версии все картинки хранились в image/data, а в новой версии (почему то кому то взбрело в голову) в image/catalog. И теперь, если я добавляю товар и мне нужно выбрать картинку из существующих (которая хранится в image/data), я не могу этого сделать т.к. в админке открывается раздел image/catalog. То что вы предлагаете - это замена путей, это не решит проблему открытия в качестве дефолтной папки в админке раздела image/catalog Я не могу все картинки переместить в image/catalog, т.к. в БД ссылки идут на image/data. Все переименовывать ..., если не найду более простого решения видимо придется делать как вы предложили, но только наоборот data в catalog буду менять. Змінено 9 жовтня 2016 користувачем Silver111 Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. UPDATE `oc_banner_image` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_category` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_manufacturer` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_product` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_product_image` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_setting` SET `value` = REPLACE ( value , 'data/', 'catalog/' ) WHERE `key` = 'config_logo'; UPDATE `oc_setting` SET `value` = REPLACE ( value , 'data/', 'catalog/' ) WHERE `key` = 'config_icon'; 2 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. то же самое с переносом сайта, тоже правил этим запросом. но такие ссылки есть еще, например, в описании категории или товара, т.е. не в поле image... вот для них не могу составить запрос. Не поможете? Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Видимо так UPDATE `oc_information_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); UPDATE `oc_category_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); 1 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Спасибо! Я составлял похожий запрос и чет натупил, catalog/ в итоге заменял описание категории полностью собой :) Надіслати Поділитися на інших сайтах More sharing options... 11 months later... gyurza2000 Опубліковано: 7 жовтня 2017 Share Опубліковано: 7 жовтня 2017 Мне тоже пригодилось, спасибо Надіслати Поділитися на інших сайтах More sharing options... 2 months later... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 Здравствуйте, подскажите, запросом в базу поменял пути, к изображениям, но на сайте они все равно отображаются с предыдущего места. В базе в таблице product адрес визуально вижу что изменен... Надіслати Поділитися на інших сайтах More sharing options... Ketty83 Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 кэш изображений обновите )) Надіслати Поділитися на інших сайтах More sharing options... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 5 часов назад, Ketty83 сказал: кэш изображений обновите )) Спасибо. ) был не внимателен, не в той базе делал изменения. Надіслати Поділитися на інших сайтах More sharing options... 11 months later... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 Подскажите, как в OCStore 2.3.0.2 изменить в редакторе товара возможность сразу попадать в папку image. (по дефолту image/catalog) В версии 2.2 получалось путем редактирования файла admin/controller/common/filemanager.php Надіслати Поділитися на інших сайтах More sharing options... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 (змінено) Решение вопроса для версии 2.3.0.2 (замена дефолтной папки загрузки изображений image/catalog на image/ваша папка) Устанавливаем Samarkand File Manager для изображений. Дефолтный не получилось переделать. Редактируем следующий файл admin/controller/common/filemanager.php Заменяем 9ю строку protected $_smkfm_catalog = 'catalog'; на protected $_smkfm_catalog = 'название вашей папки'; Пока ищу. как сделать. чтобы по дефолту грузилось в image каталог с правильным url изображения Змінено 9 грудня 2018 користувачем s3ven 1 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... igorfelix Опубліковано: 23 лютого 2020 Share Опубліковано: 23 лютого 2020 А у меня получилось, выложу новый filemanager.php. Теперь при открытие стандартного менеджера изображений будет открывать сайт.рф/image/ Версия 2.3 опенкарт . <?php classControllerCommonFileManagerextendsController{protectedfunction translit($text){ $rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж","Ж","з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р","с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч","Ч","ш","Ш","щ","Щ","ъ","Ъ","ы","Ы","ь","Ь","э","Э","ю","Ю","я","Я",'/',' '); $eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E","zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O","p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH","sh","SH","sch","SCH","","","y","Y","","","e","E","ju","JU","ja","JA",'',''); $text = strtolower(str_replace($rus,$eng,$text)); $disallow_symbols = array(' '=>'-','\\'=>'-','/'=>'-',':'=>'-','*'=>'','?'=>'',','=>'','"'=>'','\''=>'','<'=>'','>'=>'','|'=>'');return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES,'UTF-8')))),'-');}publicfunction index(){ $this->load->language('common/filemanager');// Find which protocol to use to pass the full image link backif(isset($this->request->server['HTTPS'])&&(($this->request->server['HTTPS']=='on')||($this->request->server['HTTPS']=='1'))){ $server = HTTPS_CATALOG;}else{ $server = HTTP_CATALOG;}if(isset($this->request->get['filter_name'])){ $filter_name = rtrim(str_replace(array('*','/'),'', $this->request->get['filter_name']),'/');}else{ $filter_name =null;}// Save current directoryif(!isset($this->request->get['directory'])){if(!isset($this->request->get['parent'])){//New call Filemanager $this->request->get['directory']= isset($this->request->cookie['file_manager']['directory'])? $this->request->cookie['file_manager']['directory']:''; $this->request->get['page']= isset($this->request->cookie['file_manager']['page'])? $this->request->cookie['file_manager']['page']:1;}else{// Trying to go back to the root directory, delete cookies setcookie('file_manager[directory]','', time()-3600,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager,'', time()-3600,'/', $this->request->server['HTTP_HOST']);}}else{ setcookie('file_manager[directory]', $this->request->get['directory'], time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager, isset($this->request->get['page'])? $this->request->get['page']:1, time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']);}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. str_replace('*','', $this->request->get['directory']),'/');}else{ $directory = DIR_IMAGE;}if(isset($this->request->get['page'])){ $page = $this->request->get['page'];}else{ $page =1;} $directories = array(); $files = array(); $data['images']= array(); $this->load->model('tool/image');if(substr(str_replace('\\','/', realpath($directory).'/'. $filter_name),, strlen(DIR_IMAGE))== DIR_IMAGE){// Get directories $directories = glob($directory .'/'. $filter_name .'*', GLOB_ONLYDIR);if(!$directories){ $directories = array();}// Get files $files = glob($directory .'/'. $filter_name .'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);if(!$files){ $files = array();}}// Merge directories and files $images = array_merge($directories, $files);// Get total number of files and directories $image_total = count($images);// Split the array based on current page number and max number of items per page of 10 $images = array_splice($images,($page -1)*16,16);foreach($images as $image){ $name = str_split(basename($image),14);if(is_dir($image)){ $url ='';if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['images'][]= array('thumb'=>'','name'=> implode(' ', $name),'type'=>'directory','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $this->url->link('common/filemanager','token='. $this->session->data['token'].'&directory='. urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE .''))). $url,true));} elseif (is_file($image)){ $data['images'][]= array('thumb'=> $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)),100,100),'name'=> implode(' ', $name),'type'=>'image','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $server .'image/'. utf8_substr($image, utf8_strlen(DIR_IMAGE)));}} $data['heading_title']= $this->language->get('heading_title'); $data['text_no_results']= $this->language->get('text_no_results'); $data['text_confirm']= $this->language->get('text_confirm'); $data['entry_search']= $this->language->get('entry_search'); $data['entry_folder']= $this->language->get('entry_folder'); $data['button_parent']= $this->language->get('button_parent'); $data['button_refresh']= $this->language->get('button_refresh'); $data['button_upload']= $this->language->get('button_upload'); $data['button_folder']= $this->language->get('button_folder'); $data['button_delete']= $this->language->get('button_delete'); $data['button_search']= $this->language->get('button_search'); $data['token']= $this->session->data['token'];if(isset($this->request->get['directory'])){ $data['directory']= urlencode($this->request->get['directory']);}else{ $data['directory']='';}if(isset($this->request->get['filter_name'])){ $data['filter_name']= $this->request->get['filter_name'];}else{ $data['filter_name']='';}// Return the target ID for the file manager to set the valueif(isset($this->request->get['target'])){ $data['target']= $this->request->get['target'];}else{ $data['target']='';}// CKEditorif(isset($this->request->get['cke'])){ $data['cke']= $this->request->get['cke'];}else{ $data['cke']='';}// Return the thumbnail for the file manager to show a thumbnailif(isset($this->request->get['thumb'])){ $data['thumb']= $this->request->get['thumb'];}else{ $data['thumb']='';}// Parent $url ='&parent=parent';if(isset($this->request->get['directory'])){ $pos = strrpos($this->request->get['directory'],'/');if($pos){ $url .='&directory='. urlencode(substr($this->request->get['directory'],, $pos));}}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['parent']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true);// Refresh $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode($this->request->get['directory']);}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['refresh']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true); $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['filter_name'])){ $url .='&filter_name='. urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $pagination =newPagination(); $pagination->total = $image_total; $pagination->page = $page; $pagination->limit =16; $pagination->url = $this->url->link('common/filemanager','token='. $this->session->data['token']. $url .'&page={page}',true); $data['pagination']= $pagination->render(); $this->response->setOutput($this->load->view('common/filemanager', $data));}publicfunction upload(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if(!$json){// Check if multiple files are uploaded or just one $files = array();if(!empty($this->request->files['file']['name'])&& is_array($this->request->files['file']['name'])){foreach(array_keys($this->request->files['file']['name'])as $key){ $files[]= array('name'=> $this->request->files['file']['name'][$key],'type'=> $this->request->files['file']['type'][$key],'tmp_name'=> $this->request->files['file']['tmp_name'][$key],'error'=> $this->request->files['file']['error'][$key],'size'=> $this->request->files['file']['size'][$key]);}}foreach($files as $file){if(is_file($file['tmp_name'])){// Sanitize the filename $filename = basename($this->translit(html_entity_decode($file['name'], ENT_QUOTES,'UTF-8')));// Validate the filename lengthif((utf8_strlen($filename)<3)||(utf8_strlen($filename)>255)){ $json['error']= $this->language->get('error_filename');}// Allowed file extension types $allowed = array('jpg','jpeg','gif','png');if(!in_array(utf8_strtolower(utf8_substr(strrchr($filename,'.'),1)), $allowed)){ $json['error']= $this->language->get('error_filetype');}// Allowed file mime types $allowed = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');if(!in_array($file['type'], $allowed)){ $json['error']= $this->language->get('error_filetype');}// Return any upload errorif($file['error']!= UPLOAD_ERR_OK){ $json['error']= $this->language->get('error_upload_'. $file['error']);}}else{ $json['error']= $this->language->get('error_upload');}if(!$json){ move_uploaded_file($file['tmp_name'], $directory .'/'. $filename);}}}if(!$json){ $json['success']= $this->language->get('text_uploaded');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunction folder(){ $this->load->language('common/filemanager'); $json = array();//Translit Folder Name $this->request->post['folder']= $this->translit($this->request->post['folder']);// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if($this->request->server['REQUEST_METHOD']=='POST'){// Sanitize the folder name $folder = basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES,'UTF-8'));// Validate the filename lengthif((utf8_strlen($folder)<3)||(utf8_strlen($folder)>128)){ $json['error']= $this->language->get('error_folder');}// Check if directory already exists or notif(is_dir($directory .'/'. $folder)){ $json['error']= $this->language->get('error_exists');}}if(!isset($json['error'])){@mkdir($directory .'/'. $folder,0777); chmod($directory .'/'. $folder,0777);@touch($directory .'/'. $folder .'/'.'index.html'); $json['success']= $this->language->get('text_directory');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunctiondelete(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}if(isset($this->request->post['path'])){ $paths = $this->request->post['path'];}else{ $paths = array();}// Loop through each path to run validationsforeach($paths as $path){// Check path exsistsif($path == DIR_IMAGE || substr(str_replace('\\','/', realpath(DIR_IMAGE . $path)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_delete');break;}}if(!$json){// Loop through each pathforeach($paths as $path){ $path = rtrim(DIR_IMAGE . $path,'/');// If path is just a file delete itif(is_file($path)){@unlink($path);// If path is a directory beging deleting each file and sub folder} elseif (is_dir($path)){ $files = array();// Make path into an array $path = array($path .'*');// While the path array is still populated keep looping throughwhile(count($path)!=){ $next = array_shift($path);foreach(glob($next)as $file){// If directory add to path arrayif(is_dir($file)){ $path[]= $file .'/*';}// Add the file to the files to be deleted array $files[]= $file;}}// Reverse sort the file array rsort($files);foreach($files as $file){// If file just deleteif(is_file($file)){@unlink($file);// If directory use the remove directory function} elseif (is_dir($file)){ rmdir($file);}}}} $json['success']= $this->language->get('text_delete');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}} ' ' Надіслати Поділитися на інших сайтах More sharing options... igorfelix Опубліковано: 24 лютого 2020 Share Опубліковано: 24 лютого 2020 Помогите подправить, в адресе картинки у товара идет два слэша. /image//catalog/gallery/ Надіслати Поділитися на інших сайтах More sharing options... 1 year later... ironzorin2 Опубліковано: 8 липня 2021 Share Опубліковано: 8 липня 2021 (змінено) Другая проблема. Для сайта mysite.ru сделал тестовый test.mysite.ru Так как картинок очень много - решил их не переносить, а заменить в конфигах define('DIR_IMAGE', '/blabla/test.mysite.ru/image/'); на define('DIR_IMAGE', '/blabla/mysite.ru/image/'); И не помогло. На сайте картинки не видны, путь к ним остался с test.mysite.ru. Притом когда чищу кэш изображений из админки - чистит mysite.ru. В файловом менеджере ещё интереснее - структура каталогов из mysite.ru, но сами картинки пытается загрузить из test.mysite.ru Плюнул, сделал ссылкой. Но непонятно, зачем нужны все эти пути конфиге, когда их всё-равно изменить невозможно? --------------------------------- Работает через ссылку нормально. Но в файловом менеджере - пусто Змінено 8 липня 2021 користувачем ironzorin2 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання [Решено] Изменить путь к image/catalog Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Silver111 Опубліковано: 9 жовтня 2016 Автор Share Опубліковано: 9 жовтня 2016 (змінено) Видимо я не достаточно подробно описал причину. Сайт перенес с 1.5 на 2.3. На старой версии все картинки хранились в image/data, а в новой версии (почему то кому то взбрело в голову) в image/catalog. И теперь, если я добавляю товар и мне нужно выбрать картинку из существующих (которая хранится в image/data), я не могу этого сделать т.к. в админке открывается раздел image/catalog. То что вы предлагаете - это замена путей, это не решит проблему открытия в качестве дефолтной папки в админке раздела image/catalog Я не могу все картинки переместить в image/catalog, т.к. в БД ссылки идут на image/data. Все переименовывать ..., если не найду более простого решения видимо придется делать как вы предложили, но только наоборот data в catalog буду менять. Змінено 9 жовтня 2016 користувачем Silver111 Надіслати Поділитися на інших сайтах More sharing options...
Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. UPDATE `oc_banner_image` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_category` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_manufacturer` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_product` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_product_image` SET `image` = REPLACE ( image , 'data/', 'catalog/' ); UPDATE `oc_setting` SET `value` = REPLACE ( value , 'data/', 'catalog/' ) WHERE `key` = 'config_logo'; UPDATE `oc_setting` SET `value` = REPLACE ( value , 'data/', 'catalog/' ) WHERE `key` = 'config_icon'; 2 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. то же самое с переносом сайта, тоже правил этим запросом. но такие ссылки есть еще, например, в описании категории или товара, т.е. не в поле image... вот для них не могу составить запрос. Не поможете? Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Видимо так UPDATE `oc_information_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); UPDATE `oc_category_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); 1 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Спасибо! Я составлял похожий запрос и чет натупил, catalog/ в итоге заменял описание категории полностью собой :) Надіслати Поділитися на інших сайтах More sharing options... 11 months later... gyurza2000 Опубліковано: 7 жовтня 2017 Share Опубліковано: 7 жовтня 2017 Мне тоже пригодилось, спасибо Надіслати Поділитися на інших сайтах More sharing options... 2 months later... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 Здравствуйте, подскажите, запросом в базу поменял пути, к изображениям, но на сайте они все равно отображаются с предыдущего места. В базе в таблице product адрес визуально вижу что изменен... Надіслати Поділитися на інших сайтах More sharing options... Ketty83 Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 кэш изображений обновите )) Надіслати Поділитися на інших сайтах More sharing options... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 5 часов назад, Ketty83 сказал: кэш изображений обновите )) Спасибо. ) был не внимателен, не в той базе делал изменения. Надіслати Поділитися на інших сайтах More sharing options... 11 months later... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 Подскажите, как в OCStore 2.3.0.2 изменить в редакторе товара возможность сразу попадать в папку image. (по дефолту image/catalog) В версии 2.2 получалось путем редактирования файла admin/controller/common/filemanager.php Надіслати Поділитися на інших сайтах More sharing options... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 (змінено) Решение вопроса для версии 2.3.0.2 (замена дефолтной папки загрузки изображений image/catalog на image/ваша папка) Устанавливаем Samarkand File Manager для изображений. Дефолтный не получилось переделать. Редактируем следующий файл admin/controller/common/filemanager.php Заменяем 9ю строку protected $_smkfm_catalog = 'catalog'; на protected $_smkfm_catalog = 'название вашей папки'; Пока ищу. как сделать. чтобы по дефолту грузилось в image каталог с правильным url изображения Змінено 9 грудня 2018 користувачем s3ven 1 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... igorfelix Опубліковано: 23 лютого 2020 Share Опубліковано: 23 лютого 2020 А у меня получилось, выложу новый filemanager.php. Теперь при открытие стандартного менеджера изображений будет открывать сайт.рф/image/ Версия 2.3 опенкарт . <?php classControllerCommonFileManagerextendsController{protectedfunction translit($text){ $rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж","Ж","з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р","с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч","Ч","ш","Ш","щ","Щ","ъ","Ъ","ы","Ы","ь","Ь","э","Э","ю","Ю","я","Я",'/',' '); $eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E","zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O","p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH","sh","SH","sch","SCH","","","y","Y","","","e","E","ju","JU","ja","JA",'',''); $text = strtolower(str_replace($rus,$eng,$text)); $disallow_symbols = array(' '=>'-','\\'=>'-','/'=>'-',':'=>'-','*'=>'','?'=>'',','=>'','"'=>'','\''=>'','<'=>'','>'=>'','|'=>'');return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES,'UTF-8')))),'-');}publicfunction index(){ $this->load->language('common/filemanager');// Find which protocol to use to pass the full image link backif(isset($this->request->server['HTTPS'])&&(($this->request->server['HTTPS']=='on')||($this->request->server['HTTPS']=='1'))){ $server = HTTPS_CATALOG;}else{ $server = HTTP_CATALOG;}if(isset($this->request->get['filter_name'])){ $filter_name = rtrim(str_replace(array('*','/'),'', $this->request->get['filter_name']),'/');}else{ $filter_name =null;}// Save current directoryif(!isset($this->request->get['directory'])){if(!isset($this->request->get['parent'])){//New call Filemanager $this->request->get['directory']= isset($this->request->cookie['file_manager']['directory'])? $this->request->cookie['file_manager']['directory']:''; $this->request->get['page']= isset($this->request->cookie['file_manager']['page'])? $this->request->cookie['file_manager']['page']:1;}else{// Trying to go back to the root directory, delete cookies setcookie('file_manager[directory]','', time()-3600,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager,'', time()-3600,'/', $this->request->server['HTTP_HOST']);}}else{ setcookie('file_manager[directory]', $this->request->get['directory'], time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager, isset($this->request->get['page'])? $this->request->get['page']:1, time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']);}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. str_replace('*','', $this->request->get['directory']),'/');}else{ $directory = DIR_IMAGE;}if(isset($this->request->get['page'])){ $page = $this->request->get['page'];}else{ $page =1;} $directories = array(); $files = array(); $data['images']= array(); $this->load->model('tool/image');if(substr(str_replace('\\','/', realpath($directory).'/'. $filter_name),, strlen(DIR_IMAGE))== DIR_IMAGE){// Get directories $directories = glob($directory .'/'. $filter_name .'*', GLOB_ONLYDIR);if(!$directories){ $directories = array();}// Get files $files = glob($directory .'/'. $filter_name .'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);if(!$files){ $files = array();}}// Merge directories and files $images = array_merge($directories, $files);// Get total number of files and directories $image_total = count($images);// Split the array based on current page number and max number of items per page of 10 $images = array_splice($images,($page -1)*16,16);foreach($images as $image){ $name = str_split(basename($image),14);if(is_dir($image)){ $url ='';if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['images'][]= array('thumb'=>'','name'=> implode(' ', $name),'type'=>'directory','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $this->url->link('common/filemanager','token='. $this->session->data['token'].'&directory='. urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE .''))). $url,true));} elseif (is_file($image)){ $data['images'][]= array('thumb'=> $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)),100,100),'name'=> implode(' ', $name),'type'=>'image','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $server .'image/'. utf8_substr($image, utf8_strlen(DIR_IMAGE)));}} $data['heading_title']= $this->language->get('heading_title'); $data['text_no_results']= $this->language->get('text_no_results'); $data['text_confirm']= $this->language->get('text_confirm'); $data['entry_search']= $this->language->get('entry_search'); $data['entry_folder']= $this->language->get('entry_folder'); $data['button_parent']= $this->language->get('button_parent'); $data['button_refresh']= $this->language->get('button_refresh'); $data['button_upload']= $this->language->get('button_upload'); $data['button_folder']= $this->language->get('button_folder'); $data['button_delete']= $this->language->get('button_delete'); $data['button_search']= $this->language->get('button_search'); $data['token']= $this->session->data['token'];if(isset($this->request->get['directory'])){ $data['directory']= urlencode($this->request->get['directory']);}else{ $data['directory']='';}if(isset($this->request->get['filter_name'])){ $data['filter_name']= $this->request->get['filter_name'];}else{ $data['filter_name']='';}// Return the target ID for the file manager to set the valueif(isset($this->request->get['target'])){ $data['target']= $this->request->get['target'];}else{ $data['target']='';}// CKEditorif(isset($this->request->get['cke'])){ $data['cke']= $this->request->get['cke'];}else{ $data['cke']='';}// Return the thumbnail for the file manager to show a thumbnailif(isset($this->request->get['thumb'])){ $data['thumb']= $this->request->get['thumb'];}else{ $data['thumb']='';}// Parent $url ='&parent=parent';if(isset($this->request->get['directory'])){ $pos = strrpos($this->request->get['directory'],'/');if($pos){ $url .='&directory='. urlencode(substr($this->request->get['directory'],, $pos));}}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['parent']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true);// Refresh $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode($this->request->get['directory']);}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['refresh']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true); $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['filter_name'])){ $url .='&filter_name='. urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $pagination =newPagination(); $pagination->total = $image_total; $pagination->page = $page; $pagination->limit =16; $pagination->url = $this->url->link('common/filemanager','token='. $this->session->data['token']. $url .'&page={page}',true); $data['pagination']= $pagination->render(); $this->response->setOutput($this->load->view('common/filemanager', $data));}publicfunction upload(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if(!$json){// Check if multiple files are uploaded or just one $files = array();if(!empty($this->request->files['file']['name'])&& is_array($this->request->files['file']['name'])){foreach(array_keys($this->request->files['file']['name'])as $key){ $files[]= array('name'=> $this->request->files['file']['name'][$key],'type'=> $this->request->files['file']['type'][$key],'tmp_name'=> $this->request->files['file']['tmp_name'][$key],'error'=> $this->request->files['file']['error'][$key],'size'=> $this->request->files['file']['size'][$key]);}}foreach($files as $file){if(is_file($file['tmp_name'])){// Sanitize the filename $filename = basename($this->translit(html_entity_decode($file['name'], ENT_QUOTES,'UTF-8')));// Validate the filename lengthif((utf8_strlen($filename)<3)||(utf8_strlen($filename)>255)){ $json['error']= $this->language->get('error_filename');}// Allowed file extension types $allowed = array('jpg','jpeg','gif','png');if(!in_array(utf8_strtolower(utf8_substr(strrchr($filename,'.'),1)), $allowed)){ $json['error']= $this->language->get('error_filetype');}// Allowed file mime types $allowed = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');if(!in_array($file['type'], $allowed)){ $json['error']= $this->language->get('error_filetype');}// Return any upload errorif($file['error']!= UPLOAD_ERR_OK){ $json['error']= $this->language->get('error_upload_'. $file['error']);}}else{ $json['error']= $this->language->get('error_upload');}if(!$json){ move_uploaded_file($file['tmp_name'], $directory .'/'. $filename);}}}if(!$json){ $json['success']= $this->language->get('text_uploaded');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunction folder(){ $this->load->language('common/filemanager'); $json = array();//Translit Folder Name $this->request->post['folder']= $this->translit($this->request->post['folder']);// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if($this->request->server['REQUEST_METHOD']=='POST'){// Sanitize the folder name $folder = basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES,'UTF-8'));// Validate the filename lengthif((utf8_strlen($folder)<3)||(utf8_strlen($folder)>128)){ $json['error']= $this->language->get('error_folder');}// Check if directory already exists or notif(is_dir($directory .'/'. $folder)){ $json['error']= $this->language->get('error_exists');}}if(!isset($json['error'])){@mkdir($directory .'/'. $folder,0777); chmod($directory .'/'. $folder,0777);@touch($directory .'/'. $folder .'/'.'index.html'); $json['success']= $this->language->get('text_directory');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunctiondelete(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}if(isset($this->request->post['path'])){ $paths = $this->request->post['path'];}else{ $paths = array();}// Loop through each path to run validationsforeach($paths as $path){// Check path exsistsif($path == DIR_IMAGE || substr(str_replace('\\','/', realpath(DIR_IMAGE . $path)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_delete');break;}}if(!$json){// Loop through each pathforeach($paths as $path){ $path = rtrim(DIR_IMAGE . $path,'/');// If path is just a file delete itif(is_file($path)){@unlink($path);// If path is a directory beging deleting each file and sub folder} elseif (is_dir($path)){ $files = array();// Make path into an array $path = array($path .'*');// While the path array is still populated keep looping throughwhile(count($path)!=){ $next = array_shift($path);foreach(glob($next)as $file){// If directory add to path arrayif(is_dir($file)){ $path[]= $file .'/*';}// Add the file to the files to be deleted array $files[]= $file;}}// Reverse sort the file array rsort($files);foreach($files as $file){// If file just deleteif(is_file($file)){@unlink($file);// If directory use the remove directory function} elseif (is_dir($file)){ rmdir($file);}}}} $json['success']= $this->language->get('text_delete');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}} ' ' Надіслати Поділитися на інших сайтах More sharing options... igorfelix Опубліковано: 24 лютого 2020 Share Опубліковано: 24 лютого 2020 Помогите подправить, в адресе картинки у товара идет два слэша. /image//catalog/gallery/ Надіслати Поділитися на інших сайтах More sharing options... 1 year later... ironzorin2 Опубліковано: 8 липня 2021 Share Опубліковано: 8 липня 2021 (змінено) Другая проблема. Для сайта mysite.ru сделал тестовый test.mysite.ru Так как картинок очень много - решил их не переносить, а заменить в конфигах define('DIR_IMAGE', '/blabla/test.mysite.ru/image/'); на define('DIR_IMAGE', '/blabla/mysite.ru/image/'); И не помогло. На сайте картинки не видны, путь к ним остался с test.mysite.ru. Притом когда чищу кэш изображений из админки - чистит mysite.ru. В файловом менеджере ещё интереснее - структура каталогов из mysite.ru, но сами картинки пытается загрузить из test.mysite.ru Плюнул, сделал ссылкой. Но непонятно, зачем нужны все эти пути конфиге, когда их всё-равно изменить невозможно? --------------------------------- Работает через ссылку нормально. Но в файловом менеджере - пусто Змінено 8 липня 2021 користувачем ironzorin2 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання [Решено] Изменить путь к image/catalog
Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 С этого и нужно было начинать.Поможет запрос в бд. то же самое с переносом сайта, тоже правил этим запросом. но такие ссылки есть еще, например, в описании категории или товара, т.е. не в поле image... вот для них не могу составить запрос. Не поможете? Надіслати Поділитися на інших сайтах More sharing options...
Tom Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Видимо так UPDATE `oc_information_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); UPDATE `oc_category_description` SET `description` = REPLACE ( description , 'data/', 'catalog/' ); 1 Надіслати Поділитися на інших сайтах More sharing options... Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Спасибо! Я составлял похожий запрос и чет натупил, catalog/ в итоге заменял описание категории полностью собой :) Надіслати Поділитися на інших сайтах More sharing options... 11 months later... gyurza2000 Опубліковано: 7 жовтня 2017 Share Опубліковано: 7 жовтня 2017 Мне тоже пригодилось, спасибо Надіслати Поділитися на інших сайтах More sharing options... 2 months later... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 Здравствуйте, подскажите, запросом в базу поменял пути, к изображениям, но на сайте они все равно отображаются с предыдущего места. В базе в таблице product адрес визуально вижу что изменен... Надіслати Поділитися на інших сайтах More sharing options... Ketty83 Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 кэш изображений обновите )) Надіслати Поділитися на інших сайтах More sharing options... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 5 часов назад, Ketty83 сказал: кэш изображений обновите )) Спасибо. ) был не внимателен, не в той базе делал изменения. Надіслати Поділитися на інших сайтах More sharing options... 11 months later... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 Подскажите, как в OCStore 2.3.0.2 изменить в редакторе товара возможность сразу попадать в папку image. (по дефолту image/catalog) В версии 2.2 получалось путем редактирования файла admin/controller/common/filemanager.php Надіслати Поділитися на інших сайтах More sharing options... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 (змінено) Решение вопроса для версии 2.3.0.2 (замена дефолтной папки загрузки изображений image/catalog на image/ваша папка) Устанавливаем Samarkand File Manager для изображений. Дефолтный не получилось переделать. Редактируем следующий файл admin/controller/common/filemanager.php Заменяем 9ю строку protected $_smkfm_catalog = 'catalog'; на protected $_smkfm_catalog = 'название вашей папки'; Пока ищу. как сделать. чтобы по дефолту грузилось в image каталог с правильным url изображения Змінено 9 грудня 2018 користувачем s3ven 1 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... igorfelix Опубліковано: 23 лютого 2020 Share Опубліковано: 23 лютого 2020 А у меня получилось, выложу новый filemanager.php. Теперь при открытие стандартного менеджера изображений будет открывать сайт.рф/image/ Версия 2.3 опенкарт . <?php classControllerCommonFileManagerextendsController{protectedfunction translit($text){ $rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж","Ж","з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р","с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч","Ч","ш","Ш","щ","Щ","ъ","Ъ","ы","Ы","ь","Ь","э","Э","ю","Ю","я","Я",'/',' '); $eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E","zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O","p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH","sh","SH","sch","SCH","","","y","Y","","","e","E","ju","JU","ja","JA",'',''); $text = strtolower(str_replace($rus,$eng,$text)); $disallow_symbols = array(' '=>'-','\\'=>'-','/'=>'-',':'=>'-','*'=>'','?'=>'',','=>'','"'=>'','\''=>'','<'=>'','>'=>'','|'=>'');return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES,'UTF-8')))),'-');}publicfunction index(){ $this->load->language('common/filemanager');// Find which protocol to use to pass the full image link backif(isset($this->request->server['HTTPS'])&&(($this->request->server['HTTPS']=='on')||($this->request->server['HTTPS']=='1'))){ $server = HTTPS_CATALOG;}else{ $server = HTTP_CATALOG;}if(isset($this->request->get['filter_name'])){ $filter_name = rtrim(str_replace(array('*','/'),'', $this->request->get['filter_name']),'/');}else{ $filter_name =null;}// Save current directoryif(!isset($this->request->get['directory'])){if(!isset($this->request->get['parent'])){//New call Filemanager $this->request->get['directory']= isset($this->request->cookie['file_manager']['directory'])? $this->request->cookie['file_manager']['directory']:''; $this->request->get['page']= isset($this->request->cookie['file_manager']['page'])? $this->request->cookie['file_manager']['page']:1;}else{// Trying to go back to the root directory, delete cookies setcookie('file_manager[directory]','', time()-3600,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager,'', time()-3600,'/', $this->request->server['HTTP_HOST']);}}else{ setcookie('file_manager[directory]', $this->request->get['directory'], time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager, isset($this->request->get['page'])? $this->request->get['page']:1, time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']);}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. str_replace('*','', $this->request->get['directory']),'/');}else{ $directory = DIR_IMAGE;}if(isset($this->request->get['page'])){ $page = $this->request->get['page'];}else{ $page =1;} $directories = array(); $files = array(); $data['images']= array(); $this->load->model('tool/image');if(substr(str_replace('\\','/', realpath($directory).'/'. $filter_name),, strlen(DIR_IMAGE))== DIR_IMAGE){// Get directories $directories = glob($directory .'/'. $filter_name .'*', GLOB_ONLYDIR);if(!$directories){ $directories = array();}// Get files $files = glob($directory .'/'. $filter_name .'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);if(!$files){ $files = array();}}// Merge directories and files $images = array_merge($directories, $files);// Get total number of files and directories $image_total = count($images);// Split the array based on current page number and max number of items per page of 10 $images = array_splice($images,($page -1)*16,16);foreach($images as $image){ $name = str_split(basename($image),14);if(is_dir($image)){ $url ='';if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['images'][]= array('thumb'=>'','name'=> implode(' ', $name),'type'=>'directory','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $this->url->link('common/filemanager','token='. $this->session->data['token'].'&directory='. urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE .''))). $url,true));} elseif (is_file($image)){ $data['images'][]= array('thumb'=> $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)),100,100),'name'=> implode(' ', $name),'type'=>'image','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $server .'image/'. utf8_substr($image, utf8_strlen(DIR_IMAGE)));}} $data['heading_title']= $this->language->get('heading_title'); $data['text_no_results']= $this->language->get('text_no_results'); $data['text_confirm']= $this->language->get('text_confirm'); $data['entry_search']= $this->language->get('entry_search'); $data['entry_folder']= $this->language->get('entry_folder'); $data['button_parent']= $this->language->get('button_parent'); $data['button_refresh']= $this->language->get('button_refresh'); $data['button_upload']= $this->language->get('button_upload'); $data['button_folder']= $this->language->get('button_folder'); $data['button_delete']= $this->language->get('button_delete'); $data['button_search']= $this->language->get('button_search'); $data['token']= $this->session->data['token'];if(isset($this->request->get['directory'])){ $data['directory']= urlencode($this->request->get['directory']);}else{ $data['directory']='';}if(isset($this->request->get['filter_name'])){ $data['filter_name']= $this->request->get['filter_name'];}else{ $data['filter_name']='';}// Return the target ID for the file manager to set the valueif(isset($this->request->get['target'])){ $data['target']= $this->request->get['target'];}else{ $data['target']='';}// CKEditorif(isset($this->request->get['cke'])){ $data['cke']= $this->request->get['cke'];}else{ $data['cke']='';}// Return the thumbnail for the file manager to show a thumbnailif(isset($this->request->get['thumb'])){ $data['thumb']= $this->request->get['thumb'];}else{ $data['thumb']='';}// Parent $url ='&parent=parent';if(isset($this->request->get['directory'])){ $pos = strrpos($this->request->get['directory'],'/');if($pos){ $url .='&directory='. urlencode(substr($this->request->get['directory'],, $pos));}}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['parent']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true);// Refresh $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode($this->request->get['directory']);}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['refresh']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true); $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['filter_name'])){ $url .='&filter_name='. urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $pagination =newPagination(); $pagination->total = $image_total; $pagination->page = $page; $pagination->limit =16; $pagination->url = $this->url->link('common/filemanager','token='. $this->session->data['token']. $url .'&page={page}',true); $data['pagination']= $pagination->render(); $this->response->setOutput($this->load->view('common/filemanager', $data));}publicfunction upload(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if(!$json){// Check if multiple files are uploaded or just one $files = array();if(!empty($this->request->files['file']['name'])&& is_array($this->request->files['file']['name'])){foreach(array_keys($this->request->files['file']['name'])as $key){ $files[]= array('name'=> $this->request->files['file']['name'][$key],'type'=> $this->request->files['file']['type'][$key],'tmp_name'=> $this->request->files['file']['tmp_name'][$key],'error'=> $this->request->files['file']['error'][$key],'size'=> $this->request->files['file']['size'][$key]);}}foreach($files as $file){if(is_file($file['tmp_name'])){// Sanitize the filename $filename = basename($this->translit(html_entity_decode($file['name'], ENT_QUOTES,'UTF-8')));// Validate the filename lengthif((utf8_strlen($filename)<3)||(utf8_strlen($filename)>255)){ $json['error']= $this->language->get('error_filename');}// Allowed file extension types $allowed = array('jpg','jpeg','gif','png');if(!in_array(utf8_strtolower(utf8_substr(strrchr($filename,'.'),1)), $allowed)){ $json['error']= $this->language->get('error_filetype');}// Allowed file mime types $allowed = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');if(!in_array($file['type'], $allowed)){ $json['error']= $this->language->get('error_filetype');}// Return any upload errorif($file['error']!= UPLOAD_ERR_OK){ $json['error']= $this->language->get('error_upload_'. $file['error']);}}else{ $json['error']= $this->language->get('error_upload');}if(!$json){ move_uploaded_file($file['tmp_name'], $directory .'/'. $filename);}}}if(!$json){ $json['success']= $this->language->get('text_uploaded');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunction folder(){ $this->load->language('common/filemanager'); $json = array();//Translit Folder Name $this->request->post['folder']= $this->translit($this->request->post['folder']);// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if($this->request->server['REQUEST_METHOD']=='POST'){// Sanitize the folder name $folder = basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES,'UTF-8'));// Validate the filename lengthif((utf8_strlen($folder)<3)||(utf8_strlen($folder)>128)){ $json['error']= $this->language->get('error_folder');}// Check if directory already exists or notif(is_dir($directory .'/'. $folder)){ $json['error']= $this->language->get('error_exists');}}if(!isset($json['error'])){@mkdir($directory .'/'. $folder,0777); chmod($directory .'/'. $folder,0777);@touch($directory .'/'. $folder .'/'.'index.html'); $json['success']= $this->language->get('text_directory');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunctiondelete(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}if(isset($this->request->post['path'])){ $paths = $this->request->post['path'];}else{ $paths = array();}// Loop through each path to run validationsforeach($paths as $path){// Check path exsistsif($path == DIR_IMAGE || substr(str_replace('\\','/', realpath(DIR_IMAGE . $path)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_delete');break;}}if(!$json){// Loop through each pathforeach($paths as $path){ $path = rtrim(DIR_IMAGE . $path,'/');// If path is just a file delete itif(is_file($path)){@unlink($path);// If path is a directory beging deleting each file and sub folder} elseif (is_dir($path)){ $files = array();// Make path into an array $path = array($path .'*');// While the path array is still populated keep looping throughwhile(count($path)!=){ $next = array_shift($path);foreach(glob($next)as $file){// If directory add to path arrayif(is_dir($file)){ $path[]= $file .'/*';}// Add the file to the files to be deleted array $files[]= $file;}}// Reverse sort the file array rsort($files);foreach($files as $file){// If file just deleteif(is_file($file)){@unlink($file);// If directory use the remove directory function} elseif (is_dir($file)){ rmdir($file);}}}} $json['success']= $this->language->get('text_delete');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}} ' ' Надіслати Поділитися на інших сайтах More sharing options... igorfelix Опубліковано: 24 лютого 2020 Share Опубліковано: 24 лютого 2020 Помогите подправить, в адресе картинки у товара идет два слэша. /image//catalog/gallery/ Надіслати Поділитися на інших сайтах More sharing options... 1 year later... ironzorin2 Опубліковано: 8 липня 2021 Share Опубліковано: 8 липня 2021 (змінено) Другая проблема. Для сайта mysite.ru сделал тестовый test.mysite.ru Так как картинок очень много - решил их не переносить, а заменить в конфигах define('DIR_IMAGE', '/blabla/test.mysite.ru/image/'); на define('DIR_IMAGE', '/blabla/mysite.ru/image/'); И не помогло. На сайте картинки не видны, путь к ним остался с test.mysite.ru. Притом когда чищу кэш изображений из админки - чистит mysite.ru. В файловом менеджере ещё интереснее - структура каталогов из mysite.ru, но сами картинки пытается загрузить из test.mysite.ru Плюнул, сделал ссылкой. Но непонятно, зачем нужны все эти пути конфиге, когда их всё-равно изменить невозможно? --------------------------------- Работает через ссылку нормально. Но в файловом менеджере - пусто Змінено 8 липня 2021 користувачем ironzorin2 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Raensul Опубліковано: 9 жовтня 2016 Share Опубліковано: 9 жовтня 2016 Спасибо! Я составлял похожий запрос и чет натупил, catalog/ в итоге заменял описание категории полностью собой :) Надіслати Поділитися на інших сайтах More sharing options...
gyurza2000 Опубліковано: 7 жовтня 2017 Share Опубліковано: 7 жовтня 2017 Мне тоже пригодилось, спасибо Надіслати Поділитися на інших сайтах More sharing options... 2 months later... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 Здравствуйте, подскажите, запросом в базу поменял пути, к изображениям, но на сайте они все равно отображаются с предыдущего места. В базе в таблице product адрес визуально вижу что изменен... Надіслати Поділитися на інших сайтах More sharing options... Ketty83 Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 кэш изображений обновите )) Надіслати Поділитися на інших сайтах More sharing options... krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 5 часов назад, Ketty83 сказал: кэш изображений обновите )) Спасибо. ) был не внимателен, не в той базе делал изменения. Надіслати Поділитися на інших сайтах More sharing options... 11 months later... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 Подскажите, как в OCStore 2.3.0.2 изменить в редакторе товара возможность сразу попадать в папку image. (по дефолту image/catalog) В версии 2.2 получалось путем редактирования файла admin/controller/common/filemanager.php Надіслати Поділитися на інших сайтах More sharing options... s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 (змінено) Решение вопроса для версии 2.3.0.2 (замена дефолтной папки загрузки изображений image/catalog на image/ваша папка) Устанавливаем Samarkand File Manager для изображений. Дефолтный не получилось переделать. Редактируем следующий файл admin/controller/common/filemanager.php Заменяем 9ю строку protected $_smkfm_catalog = 'catalog'; на protected $_smkfm_catalog = 'название вашей папки'; Пока ищу. как сделать. чтобы по дефолту грузилось в image каталог с правильным url изображения Змінено 9 грудня 2018 користувачем s3ven 1 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... igorfelix Опубліковано: 23 лютого 2020 Share Опубліковано: 23 лютого 2020 А у меня получилось, выложу новый filemanager.php. Теперь при открытие стандартного менеджера изображений будет открывать сайт.рф/image/ Версия 2.3 опенкарт . <?php classControllerCommonFileManagerextendsController{protectedfunction translit($text){ $rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж","Ж","з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р","с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч","Ч","ш","Ш","щ","Щ","ъ","Ъ","ы","Ы","ь","Ь","э","Э","ю","Ю","я","Я",'/',' '); $eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E","zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O","p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH","sh","SH","sch","SCH","","","y","Y","","","e","E","ju","JU","ja","JA",'',''); $text = strtolower(str_replace($rus,$eng,$text)); $disallow_symbols = array(' '=>'-','\\'=>'-','/'=>'-',':'=>'-','*'=>'','?'=>'',','=>'','"'=>'','\''=>'','<'=>'','>'=>'','|'=>'');return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES,'UTF-8')))),'-');}publicfunction index(){ $this->load->language('common/filemanager');// Find which protocol to use to pass the full image link backif(isset($this->request->server['HTTPS'])&&(($this->request->server['HTTPS']=='on')||($this->request->server['HTTPS']=='1'))){ $server = HTTPS_CATALOG;}else{ $server = HTTP_CATALOG;}if(isset($this->request->get['filter_name'])){ $filter_name = rtrim(str_replace(array('*','/'),'', $this->request->get['filter_name']),'/');}else{ $filter_name =null;}// Save current directoryif(!isset($this->request->get['directory'])){if(!isset($this->request->get['parent'])){//New call Filemanager $this->request->get['directory']= isset($this->request->cookie['file_manager']['directory'])? $this->request->cookie['file_manager']['directory']:''; $this->request->get['page']= isset($this->request->cookie['file_manager']['page'])? $this->request->cookie['file_manager']['page']:1;}else{// Trying to go back to the root directory, delete cookies setcookie('file_manager[directory]','', time()-3600,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager,'', time()-3600,'/', $this->request->server['HTTP_HOST']);}}else{ setcookie('file_manager[directory]', $this->request->get['directory'], time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager, isset($this->request->get['page'])? $this->request->get['page']:1, time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']);}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. str_replace('*','', $this->request->get['directory']),'/');}else{ $directory = DIR_IMAGE;}if(isset($this->request->get['page'])){ $page = $this->request->get['page'];}else{ $page =1;} $directories = array(); $files = array(); $data['images']= array(); $this->load->model('tool/image');if(substr(str_replace('\\','/', realpath($directory).'/'. $filter_name),, strlen(DIR_IMAGE))== DIR_IMAGE){// Get directories $directories = glob($directory .'/'. $filter_name .'*', GLOB_ONLYDIR);if(!$directories){ $directories = array();}// Get files $files = glob($directory .'/'. $filter_name .'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);if(!$files){ $files = array();}}// Merge directories and files $images = array_merge($directories, $files);// Get total number of files and directories $image_total = count($images);// Split the array based on current page number and max number of items per page of 10 $images = array_splice($images,($page -1)*16,16);foreach($images as $image){ $name = str_split(basename($image),14);if(is_dir($image)){ $url ='';if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['images'][]= array('thumb'=>'','name'=> implode(' ', $name),'type'=>'directory','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $this->url->link('common/filemanager','token='. $this->session->data['token'].'&directory='. urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE .''))). $url,true));} elseif (is_file($image)){ $data['images'][]= array('thumb'=> $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)),100,100),'name'=> implode(' ', $name),'type'=>'image','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $server .'image/'. utf8_substr($image, utf8_strlen(DIR_IMAGE)));}} $data['heading_title']= $this->language->get('heading_title'); $data['text_no_results']= $this->language->get('text_no_results'); $data['text_confirm']= $this->language->get('text_confirm'); $data['entry_search']= $this->language->get('entry_search'); $data['entry_folder']= $this->language->get('entry_folder'); $data['button_parent']= $this->language->get('button_parent'); $data['button_refresh']= $this->language->get('button_refresh'); $data['button_upload']= $this->language->get('button_upload'); $data['button_folder']= $this->language->get('button_folder'); $data['button_delete']= $this->language->get('button_delete'); $data['button_search']= $this->language->get('button_search'); $data['token']= $this->session->data['token'];if(isset($this->request->get['directory'])){ $data['directory']= urlencode($this->request->get['directory']);}else{ $data['directory']='';}if(isset($this->request->get['filter_name'])){ $data['filter_name']= $this->request->get['filter_name'];}else{ $data['filter_name']='';}// Return the target ID for the file manager to set the valueif(isset($this->request->get['target'])){ $data['target']= $this->request->get['target'];}else{ $data['target']='';}// CKEditorif(isset($this->request->get['cke'])){ $data['cke']= $this->request->get['cke'];}else{ $data['cke']='';}// Return the thumbnail for the file manager to show a thumbnailif(isset($this->request->get['thumb'])){ $data['thumb']= $this->request->get['thumb'];}else{ $data['thumb']='';}// Parent $url ='&parent=parent';if(isset($this->request->get['directory'])){ $pos = strrpos($this->request->get['directory'],'/');if($pos){ $url .='&directory='. urlencode(substr($this->request->get['directory'],, $pos));}}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['parent']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true);// Refresh $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode($this->request->get['directory']);}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['refresh']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true); $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['filter_name'])){ $url .='&filter_name='. urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $pagination =newPagination(); $pagination->total = $image_total; $pagination->page = $page; $pagination->limit =16; $pagination->url = $this->url->link('common/filemanager','token='. $this->session->data['token']. $url .'&page={page}',true); $data['pagination']= $pagination->render(); $this->response->setOutput($this->load->view('common/filemanager', $data));}publicfunction upload(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if(!$json){// Check if multiple files are uploaded or just one $files = array();if(!empty($this->request->files['file']['name'])&& is_array($this->request->files['file']['name'])){foreach(array_keys($this->request->files['file']['name'])as $key){ $files[]= array('name'=> $this->request->files['file']['name'][$key],'type'=> $this->request->files['file']['type'][$key],'tmp_name'=> $this->request->files['file']['tmp_name'][$key],'error'=> $this->request->files['file']['error'][$key],'size'=> $this->request->files['file']['size'][$key]);}}foreach($files as $file){if(is_file($file['tmp_name'])){// Sanitize the filename $filename = basename($this->translit(html_entity_decode($file['name'], ENT_QUOTES,'UTF-8')));// Validate the filename lengthif((utf8_strlen($filename)<3)||(utf8_strlen($filename)>255)){ $json['error']= $this->language->get('error_filename');}// Allowed file extension types $allowed = array('jpg','jpeg','gif','png');if(!in_array(utf8_strtolower(utf8_substr(strrchr($filename,'.'),1)), $allowed)){ $json['error']= $this->language->get('error_filetype');}// Allowed file mime types $allowed = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');if(!in_array($file['type'], $allowed)){ $json['error']= $this->language->get('error_filetype');}// Return any upload errorif($file['error']!= UPLOAD_ERR_OK){ $json['error']= $this->language->get('error_upload_'. $file['error']);}}else{ $json['error']= $this->language->get('error_upload');}if(!$json){ move_uploaded_file($file['tmp_name'], $directory .'/'. $filename);}}}if(!$json){ $json['success']= $this->language->get('text_uploaded');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunction folder(){ $this->load->language('common/filemanager'); $json = array();//Translit Folder Name $this->request->post['folder']= $this->translit($this->request->post['folder']);// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if($this->request->server['REQUEST_METHOD']=='POST'){// Sanitize the folder name $folder = basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES,'UTF-8'));// Validate the filename lengthif((utf8_strlen($folder)<3)||(utf8_strlen($folder)>128)){ $json['error']= $this->language->get('error_folder');}// Check if directory already exists or notif(is_dir($directory .'/'. $folder)){ $json['error']= $this->language->get('error_exists');}}if(!isset($json['error'])){@mkdir($directory .'/'. $folder,0777); chmod($directory .'/'. $folder,0777);@touch($directory .'/'. $folder .'/'.'index.html'); $json['success']= $this->language->get('text_directory');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunctiondelete(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}if(isset($this->request->post['path'])){ $paths = $this->request->post['path'];}else{ $paths = array();}// Loop through each path to run validationsforeach($paths as $path){// Check path exsistsif($path == DIR_IMAGE || substr(str_replace('\\','/', realpath(DIR_IMAGE . $path)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_delete');break;}}if(!$json){// Loop through each pathforeach($paths as $path){ $path = rtrim(DIR_IMAGE . $path,'/');// If path is just a file delete itif(is_file($path)){@unlink($path);// If path is a directory beging deleting each file and sub folder} elseif (is_dir($path)){ $files = array();// Make path into an array $path = array($path .'*');// While the path array is still populated keep looping throughwhile(count($path)!=){ $next = array_shift($path);foreach(glob($next)as $file){// If directory add to path arrayif(is_dir($file)){ $path[]= $file .'/*';}// Add the file to the files to be deleted array $files[]= $file;}}// Reverse sort the file array rsort($files);foreach($files as $file){// If file just deleteif(is_file($file)){@unlink($file);// If directory use the remove directory function} elseif (is_dir($file)){ rmdir($file);}}}} $json['success']= $this->language->get('text_delete');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}} ' ' Надіслати Поділитися на інших сайтах More sharing options... igorfelix Опубліковано: 24 лютого 2020 Share Опубліковано: 24 лютого 2020 Помогите подправить, в адресе картинки у товара идет два слэша. /image//catalog/gallery/ Надіслати Поділитися на інших сайтах More sharing options... 1 year later... ironzorin2 Опубліковано: 8 липня 2021 Share Опубліковано: 8 липня 2021 (змінено) Другая проблема. Для сайта mysite.ru сделал тестовый test.mysite.ru Так как картинок очень много - решил их не переносить, а заменить в конфигах define('DIR_IMAGE', '/blabla/test.mysite.ru/image/'); на define('DIR_IMAGE', '/blabla/mysite.ru/image/'); И не помогло. На сайте картинки не видны, путь к ним остался с test.mysite.ru. Притом когда чищу кэш изображений из админки - чистит mysite.ru. В файловом менеджере ещё интереснее - структура каталогов из mysite.ru, но сами картинки пытается загрузить из test.mysite.ru Плюнул, сделал ссылкой. Но непонятно, зачем нужны все эти пути конфиге, когда их всё-равно изменить невозможно? --------------------------------- Работает через ссылку нормально. Но в файловом менеджере - пусто Змінено 8 липня 2021 користувачем ironzorin2 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 Здравствуйте, подскажите, запросом в базу поменял пути, к изображениям, но на сайте они все равно отображаются с предыдущего места. В базе в таблице product адрес визуально вижу что изменен... Надіслати Поділитися на інших сайтах More sharing options...
Ketty83 Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 кэш изображений обновите )) Надіслати Поділитися на інших сайтах More sharing options...
krmart Опубліковано: 2 січня 2018 Share Опубліковано: 2 січня 2018 5 часов назад, Ketty83 сказал: кэш изображений обновите )) Спасибо. ) был не внимателен, не в той базе делал изменения. Надіслати Поділитися на інших сайтах More sharing options...
s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 Подскажите, как в OCStore 2.3.0.2 изменить в редакторе товара возможность сразу попадать в папку image. (по дефолту image/catalog) В версии 2.2 получалось путем редактирования файла admin/controller/common/filemanager.php Надіслати Поділитися на інших сайтах More sharing options...
s3ven Опубліковано: 9 грудня 2018 Share Опубліковано: 9 грудня 2018 (змінено) Решение вопроса для версии 2.3.0.2 (замена дефолтной папки загрузки изображений image/catalog на image/ваша папка) Устанавливаем Samarkand File Manager для изображений. Дефолтный не получилось переделать. Редактируем следующий файл admin/controller/common/filemanager.php Заменяем 9ю строку protected $_smkfm_catalog = 'catalog'; на protected $_smkfm_catalog = 'название вашей папки'; Пока ищу. как сделать. чтобы по дефолту грузилось в image каталог с правильным url изображения Змінено 9 грудня 2018 користувачем s3ven 1 Надіслати Поділитися на інших сайтах More sharing options...
igorfelix Опубліковано: 23 лютого 2020 Share Опубліковано: 23 лютого 2020 А у меня получилось, выложу новый filemanager.php. Теперь при открытие стандартного менеджера изображений будет открывать сайт.рф/image/ Версия 2.3 опенкарт . <?php classControllerCommonFileManagerextendsController{protectedfunction translit($text){ $rus = array("а","А","б","Б","в","В","г","Г","д","Д","е","Е","ё","Ё","є","Є","ж","Ж","з","З","и","И","і","І","ї","Ї","й","Й","к","К","л","Л","м","М","н","Н","о","О","п","П","р","Р","с","С","т","Т","у","У","ф","Ф","х","Х","ц","Ц","ч","Ч","ш","Ш","щ","Щ","ъ","Ъ","ы","Ы","ь","Ь","э","Э","ю","Ю","я","Я",'/',' '); $eng =array("a","A","b","B","v","V","g","G","d","D","e","E","e","E","e","E","zh","ZH","z","Z","i","I","i","I","yi","YI","j","J","k","K","l","L","m","M","n","N","o","O","p","P","r","R","s","S","t","T","u","U","f","F","h","H","c","C","ch","CH","sh","SH","sch","SCH","","","y","Y","","","e","E","ju","JU","ja","JA",'',''); $text = strtolower(str_replace($rus,$eng,$text)); $disallow_symbols = array(' '=>'-','\\'=>'-','/'=>'-',':'=>'-','*'=>'','?'=>'',','=>'','"'=>'','\''=>'','<'=>'','>'=>'','|'=>'');return trim(strip_tags(str_replace(array_keys($disallow_symbols), array_values($disallow_symbols), trim(html_entity_decode($text, ENT_QUOTES,'UTF-8')))),'-');}publicfunction index(){ $this->load->language('common/filemanager');// Find which protocol to use to pass the full image link backif(isset($this->request->server['HTTPS'])&&(($this->request->server['HTTPS']=='on')||($this->request->server['HTTPS']=='1'))){ $server = HTTPS_CATALOG;}else{ $server = HTTP_CATALOG;}if(isset($this->request->get['filter_name'])){ $filter_name = rtrim(str_replace(array('*','/'),'', $this->request->get['filter_name']),'/');}else{ $filter_name =null;}// Save current directoryif(!isset($this->request->get['directory'])){if(!isset($this->request->get['parent'])){//New call Filemanager $this->request->get['directory']= isset($this->request->cookie['file_manager']['directory'])? $this->request->cookie['file_manager']['directory']:''; $this->request->get['page']= isset($this->request->cookie['file_manager']['page'])? $this->request->cookie['file_manager']['page']:1;}else{// Trying to go back to the root directory, delete cookies setcookie('file_manager[directory]','', time()-3600,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager,'', time()-3600,'/', $this->request->server['HTTP_HOST']);}}else{ setcookie('file_manager[directory]', $this->request->get['directory'], time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']); setcookie('file_manager, isset($this->request->get['page'])? $this->request->get['page']:1, time()+60*60*24*30,'/', $this->request->server['HTTP_HOST']);}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. str_replace('*','', $this->request->get['directory']),'/');}else{ $directory = DIR_IMAGE;}if(isset($this->request->get['page'])){ $page = $this->request->get['page'];}else{ $page =1;} $directories = array(); $files = array(); $data['images']= array(); $this->load->model('tool/image');if(substr(str_replace('\\','/', realpath($directory).'/'. $filter_name),, strlen(DIR_IMAGE))== DIR_IMAGE){// Get directories $directories = glob($directory .'/'. $filter_name .'*', GLOB_ONLYDIR);if(!$directories){ $directories = array();}// Get files $files = glob($directory .'/'. $filter_name .'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);if(!$files){ $files = array();}}// Merge directories and files $images = array_merge($directories, $files);// Get total number of files and directories $image_total = count($images);// Split the array based on current page number and max number of items per page of 10 $images = array_splice($images,($page -1)*16,16);foreach($images as $image){ $name = str_split(basename($image),14);if(is_dir($image)){ $url ='';if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['images'][]= array('thumb'=>'','name'=> implode(' ', $name),'type'=>'directory','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $this->url->link('common/filemanager','token='. $this->session->data['token'].'&directory='. urlencode(utf8_substr($image, utf8_strlen(DIR_IMAGE .''))). $url,true));} elseif (is_file($image)){ $data['images'][]= array('thumb'=> $this->model_tool_image->resize(utf8_substr($image, utf8_strlen(DIR_IMAGE)),100,100),'name'=> implode(' ', $name),'type'=>'image','path'=> utf8_substr($image, utf8_strlen(DIR_IMAGE)),'href'=> $server .'image/'. utf8_substr($image, utf8_strlen(DIR_IMAGE)));}} $data['heading_title']= $this->language->get('heading_title'); $data['text_no_results']= $this->language->get('text_no_results'); $data['text_confirm']= $this->language->get('text_confirm'); $data['entry_search']= $this->language->get('entry_search'); $data['entry_folder']= $this->language->get('entry_folder'); $data['button_parent']= $this->language->get('button_parent'); $data['button_refresh']= $this->language->get('button_refresh'); $data['button_upload']= $this->language->get('button_upload'); $data['button_folder']= $this->language->get('button_folder'); $data['button_delete']= $this->language->get('button_delete'); $data['button_search']= $this->language->get('button_search'); $data['token']= $this->session->data['token'];if(isset($this->request->get['directory'])){ $data['directory']= urlencode($this->request->get['directory']);}else{ $data['directory']='';}if(isset($this->request->get['filter_name'])){ $data['filter_name']= $this->request->get['filter_name'];}else{ $data['filter_name']='';}// Return the target ID for the file manager to set the valueif(isset($this->request->get['target'])){ $data['target']= $this->request->get['target'];}else{ $data['target']='';}// CKEditorif(isset($this->request->get['cke'])){ $data['cke']= $this->request->get['cke'];}else{ $data['cke']='';}// Return the thumbnail for the file manager to show a thumbnailif(isset($this->request->get['thumb'])){ $data['thumb']= $this->request->get['thumb'];}else{ $data['thumb']='';}// Parent $url ='&parent=parent';if(isset($this->request->get['directory'])){ $pos = strrpos($this->request->get['directory'],'/');if($pos){ $url .='&directory='. urlencode(substr($this->request->get['directory'],, $pos));}}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['parent']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true);// Refresh $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode($this->request->get['directory']);}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $data['refresh']= $this->url->link('common/filemanager','token='. $this->session->data['token']. $url,true); $url ='';if(isset($this->request->get['directory'])){ $url .='&directory='. urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['filter_name'])){ $url .='&filter_name='. urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES,'UTF-8'));}if(isset($this->request->get['cke'])){ $url .='&cke='. $this->request->get['cke'];}if(isset($this->request->get['target'])){ $url .='&target='. $this->request->get['target'];}if(isset($this->request->get['thumb'])){ $url .='&thumb='. $this->request->get['thumb'];} $pagination =newPagination(); $pagination->total = $image_total; $pagination->page = $page; $pagination->limit =16; $pagination->url = $this->url->link('common/filemanager','token='. $this->session->data['token']. $url .'&page={page}',true); $data['pagination']= $pagination->render(); $this->response->setOutput($this->load->view('common/filemanager', $data));}publicfunction upload(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if(!$json){// Check if multiple files are uploaded or just one $files = array();if(!empty($this->request->files['file']['name'])&& is_array($this->request->files['file']['name'])){foreach(array_keys($this->request->files['file']['name'])as $key){ $files[]= array('name'=> $this->request->files['file']['name'][$key],'type'=> $this->request->files['file']['type'][$key],'tmp_name'=> $this->request->files['file']['tmp_name'][$key],'error'=> $this->request->files['file']['error'][$key],'size'=> $this->request->files['file']['size'][$key]);}}foreach($files as $file){if(is_file($file['tmp_name'])){// Sanitize the filename $filename = basename($this->translit(html_entity_decode($file['name'], ENT_QUOTES,'UTF-8')));// Validate the filename lengthif((utf8_strlen($filename)<3)||(utf8_strlen($filename)>255)){ $json['error']= $this->language->get('error_filename');}// Allowed file extension types $allowed = array('jpg','jpeg','gif','png');if(!in_array(utf8_strtolower(utf8_substr(strrchr($filename,'.'),1)), $allowed)){ $json['error']= $this->language->get('error_filetype');}// Allowed file mime types $allowed = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');if(!in_array($file['type'], $allowed)){ $json['error']= $this->language->get('error_filetype');}// Return any upload errorif($file['error']!= UPLOAD_ERR_OK){ $json['error']= $this->language->get('error_upload_'. $file['error']);}}else{ $json['error']= $this->language->get('error_upload');}if(!$json){ move_uploaded_file($file['tmp_name'], $directory .'/'. $filename);}}}if(!$json){ $json['success']= $this->language->get('text_uploaded');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunction folder(){ $this->load->language('common/filemanager'); $json = array();//Translit Folder Name $this->request->post['folder']= $this->translit($this->request->post['folder']);// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}// Make sure we have the correct directoryif(isset($this->request->get['directory'])){ $directory = rtrim(DIR_IMAGE .''. $this->request->get['directory'],'/');}else{ $directory = DIR_IMAGE;}// Check its a directoryif(!is_dir($directory)|| substr(str_replace('\\','/', realpath($directory)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_directory');}if($this->request->server['REQUEST_METHOD']=='POST'){// Sanitize the folder name $folder = basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES,'UTF-8'));// Validate the filename lengthif((utf8_strlen($folder)<3)||(utf8_strlen($folder)>128)){ $json['error']= $this->language->get('error_folder');}// Check if directory already exists or notif(is_dir($directory .'/'. $folder)){ $json['error']= $this->language->get('error_exists');}}if(!isset($json['error'])){@mkdir($directory .'/'. $folder,0777); chmod($directory .'/'. $folder,0777);@touch($directory .'/'. $folder .'/'.'index.html'); $json['success']= $this->language->get('text_directory');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}publicfunctiondelete(){ $this->load->language('common/filemanager'); $json = array();// Check user has permissionif(!$this->user->hasPermission('modify','common/filemanager')){ $json['error']= $this->language->get('error_permission');}if(isset($this->request->post['path'])){ $paths = $this->request->post['path'];}else{ $paths = array();}// Loop through each path to run validationsforeach($paths as $path){// Check path exsistsif($path == DIR_IMAGE || substr(str_replace('\\','/', realpath(DIR_IMAGE . $path)),, strlen(DIR_IMAGE))!= DIR_IMAGE){ $json['error']= $this->language->get('error_delete');break;}}if(!$json){// Loop through each pathforeach($paths as $path){ $path = rtrim(DIR_IMAGE . $path,'/');// If path is just a file delete itif(is_file($path)){@unlink($path);// If path is a directory beging deleting each file and sub folder} elseif (is_dir($path)){ $files = array();// Make path into an array $path = array($path .'*');// While the path array is still populated keep looping throughwhile(count($path)!=){ $next = array_shift($path);foreach(glob($next)as $file){// If directory add to path arrayif(is_dir($file)){ $path[]= $file .'/*';}// Add the file to the files to be deleted array $files[]= $file;}}// Reverse sort the file array rsort($files);foreach($files as $file){// If file just deleteif(is_file($file)){@unlink($file);// If directory use the remove directory function} elseif (is_dir($file)){ rmdir($file);}}}} $json['success']= $this->language->get('text_delete');} $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json));}} ' ' Надіслати Поділитися на інших сайтах More sharing options...
igorfelix Опубліковано: 24 лютого 2020 Share Опубліковано: 24 лютого 2020 Помогите подправить, в адресе картинки у товара идет два слэша. /image//catalog/gallery/ Надіслати Поділитися на інших сайтах More sharing options...
ironzorin2 Опубліковано: 8 липня 2021 Share Опубліковано: 8 липня 2021 (змінено) Другая проблема. Для сайта mysite.ru сделал тестовый test.mysite.ru Так как картинок очень много - решил их не переносить, а заменить в конфигах define('DIR_IMAGE', '/blabla/test.mysite.ru/image/'); на define('DIR_IMAGE', '/blabla/mysite.ru/image/'); И не помогло. На сайте картинки не видны, путь к ним остался с test.mysite.ru. Притом когда чищу кэш изображений из админки - чистит mysite.ru. В файловом менеджере ещё интереснее - структура каталогов из mysite.ru, но сами картинки пытается загрузить из test.mysite.ru Плюнул, сделал ссылкой. Но непонятно, зачем нужны все эти пути конфиге, когда их всё-равно изменить невозможно? --------------------------------- Работает через ссылку нормально. Но в файловом менеджере - пусто Змінено 8 липня 2021 користувачем ironzorin2 Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts