Перейти к содержанию

Рекомендуемые сообщения

Здароф... подскажите, кто сталкивался, мой менеджер изображений не запоминает последнюю папку из которой я загружал изображения... то есть при добавлении нескольких фото к одному товару мне приходится заново проходить все дерево папок до нужной...

как это исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые форумчане помогите, а то напрягает добавлять изображения каждый раз проходя через "дерево"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помощь - надо внести изменения в файл admin\controller\common\filemanager.php.

Изменения пометил комментариями на русском. Можно в Notepad++ открыть, выставить синтаксис PHP и посмотреть (комментарии буду зелёным выделены).

Если не получится, то возможно из-за другой версии,  я на версии 2.0.3.1 исправлял. В этом случае могу у тебя на сайте поправить.

<?php
class ControllerCommonFileManager extends Controller {
    public function index() {
        $this->load->language('common/filemanager');

        if (isset($this->request->get['filter_name'])) {
            $filter_name = rtrim(str_replace(array('../', '..\\', '..', '*'), '', $this->request->get['filter_name']), '/');
        } else {
            $filter_name = null;
        }

        // Make sure we have the correct directory
        // ТУТ ЗАКОММЕНТИРОВАН СТАРЫЙ КОД (/* - начало, */ - конец комментария)
        /*
        if (isset($this->request->get['directory'])) {
            $directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $this->request->get['directory']), '/');
        } else {
            $directory = DIR_IMAGE . 'catalog';
        }
        */
        // НОВЫЙ КОД. НАЧАЛО
        $path = null;
        if (isset($this->request->get['directory']))
        {
            $path = $this->request->get['directory'];
            setcookie("LAST_DIR", $path, time()+3600);
            $directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $path), '/');
        }
        else if (isset($_COOKIE['LAST_DIR']))
        {
            $path = $_COOKIE['LAST_DIR'];
            $directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $path), '/');
            if(!is_dir($directory))
            {
                $path = null;
                $directory = DIR_IMAGE . 'catalog';
            }
        }
        else
        {
            $directory = DIR_IMAGE . 'catalog';
        }
        // НОВЫЙ КОД. КОНЕЦ

        if (isset($this->request->get['page'])) {
            $page = $this->request->get['page'];
        } else {
            $page = 1;
        }

        $data['images'] = array();

        $this->load->model('tool/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['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 . 'catalog/'))) . $url, 'SSL')
                );
            } elseif (is_file($image)) {
                // Find which protocol to use to pass the full image link back
                if ($this->request->server['HTTPS']) {
                    $server = HTTPS_CATALOG;
                } else {
                    $server = HTTP_CATALOG;
                }

                $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'] = '';
        }
        */
        // НОВЫЙ КОД - одна нижестоящая строка
        $data['directory'] = $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 value
        if (isset($this->request->get['target'])) {
            $data['target'] = $this->request->get['target'];
        } else {
            $data['target'] = '';
        }

        // Return the thumbnail for the file manager to show a thumbnail
        if (isset($this->request->get['thumb'])) {
            $data['thumb'] = $this->request->get['thumb'];
        } else {
            $data['thumb'] = '';
        }

        // Parent
        $url = '';

        // ТУТ ЗАКОММЕНТИРОВАН СТАРЫЙ КОД (/* - начало, */ - конец комментария)
        /*
        if (isset($this->request->get['directory'])) {
            $pos = strrpos($this->request->get['directory'], '/');

            if ($pos) {
                $url .= '&directory=' . urlencode(substr($this->request->get['directory'], 0, $pos));
            }
        }
        */
        // НОВЫЙ КОД. НАЧАЛО
        if($path){
            $pos = strrpos($path, '/');
            if ($pos) {
                $url .= '&directory=' . urlencode(substr($path, 0, $pos));
            }
        }
        // НОВЫЙ КОД. КОНЕЦ

        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, 'SSL');

        // Refresh
        $url = '';

        // ТУТ ЗАКОММЕНТИРОВАН СТАРЫЙ КОД (/* - начало, */ - конец комментария)
        /*
        if (isset($this->request->get['directory'])) {
            $url .= '&directory=' . urlencode($this->request->get['directory']);
        }
        */
        // НОВЫЙ КОД. НАЧАЛО
        if ($path) {
            $url .= '&directory=' . urlencode($path);
        }
        // НОВЫЙ КОД. КОНЕЦ

        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, 'SSL');

        $url = '';

        // ТУТ ЗАКОММЕНТИРОВАН СТАРЫЙ КОД (/* - начало, */ - конец комментария)
        /*
        if (isset($this->request->get['directory'])) {
            $url .= '&directory=' . urlencode(html_entity_decode($this->request->get['directory'], ENT_QUOTES, 'UTF-8'));
        }
        */
        // НОВЫЙ КОД. НАЧАЛО
        if ($path) {
            $url .= '&directory=' . urlencode(html_entity_decode($path, 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['target'])) {
            $url .= '&target=' . $this->request->get['target'];
        }

        if (isset($this->request->get['thumb'])) {
            $url .= '&thumb=' . $this->request->get['thumb'];
        }

        $pagination = new Pagination();
        $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}', 'SSL');

        $data['pagination'] = $pagination->render();

        $this->response->setOutput($this->load->view('common/filemanager.tpl', $data));
    }

    public function upload() {
        $this->load->language('common/filemanager');

        $json = array();

        // Check user has permission
        if (!$this->user->hasPermission('modify', 'common/filemanager')) {
            $json['error'] = $this->language->get('error_permission');
        }

        // Make sure we have the correct directory
        // ТУТ ЗАКОММЕНТИРОВАН СТАРЫЙ КОД (/* - начало, */ - конец комментария)
        /*
        if (isset($this->request->get['directory'])) {
            $directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $this->request->get['directory']), '/');
        } else {
            $directory = DIR_IMAGE . 'catalog';
        }
        */
        // НОВЫЙ КОД. НАЧАЛО
        if (isset($this->request->get['directory'])) {
            $directory = $this->request->get['directory'];
        } else {
            $directory = DIR_IMAGE . 'catalog';
        }
        // НОВЫЙ КОД. КОНЕЦ

        // Check its a directory
        if (!is_dir($directory)) {
            $json['error'] = $this->language->get('error_directory');
        }

        if (!$json) {
            if (!empty($this->request->files['file']['name']) && is_file($this->request->files['file']['tmp_name'])) {
                // Sanitize the filename
                $filename = basename(html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8'));

                // Validate the filename length
                if ((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($this->request->files['file']['type'], $allowed)) {
                    $json['error'] = $this->language->get('error_filetype');
                }

                // Check to see if any PHP files are trying to be uploaded
                $content = file_get_contents($this->request->files['file']['tmp_name']);

                if (preg_match('/\<\?php/i', $content)) {
                    $json['error'] = $this->language->get('error_filetype');
                }

                // Return any upload error
                if ($this->request->files['file']['error'] != UPLOAD_ERR_OK) {
                    $json['error'] = $this->language->get('error_upload_' . $this->request->files['file']['error']);
                }
            } else {
                $json['error'] = $this->language->get('error_upload');
            }
        }

        if (!$json) {
            move_uploaded_file($this->request->files['file']['tmp_name'], $directory . '/' . $filename);

            $json['success'] = $this->language->get('text_uploaded');
        }

        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }

    public function folder() {
        $this->load->language('common/filemanager');

        $json = array();

        // Check user has permission
        if (!$this->user->hasPermission('modify', 'common/filemanager')) {
            $json['error'] = $this->language->get('error_permission');
        }

        // Make sure we have the correct directory
        // ТУТ ЗАКОММЕНТИРОВАН СТАРЫЙ КОД (/* - начало, */ - конец комментария)
        /*
        if (isset($this->request->get['directory'])) {
            $directory = rtrim(DIR_IMAGE . 'catalog/' . str_replace(array('../', '..\\', '..'), '', $this->request->get['directory']), '/');
        } else {
            $directory = DIR_IMAGE . 'catalog';
        }
        */
        // НОВЫЙ КОД. НАЧАЛО
        if (isset($this->request->get['directory']))
        {
            $directory = $this->request->get['directory'];
        }
        else
        {
            $directory = DIR_IMAGE . 'catalog';
        }
        // НОВЫЙ КОД. КОНЕЦ

        // Check its a directory
        if (!is_dir($directory)) {
            $json['error'] = $this->language->get('error_directory');
        }

        if (!$json) {
            // Sanitize the folder name
            $folder = str_replace(array('../', '..\\', '..'), '', basename(html_entity_decode($this->request->post['folder'], ENT_QUOTES, 'UTF-8')));

            // Validate the filename length
            if ((utf8_strlen($folder) < 3) || (utf8_strlen($folder) > 128)) {
                $json['error'] = $this->language->get('error_folder');
            }

            // Check if directory already exists or not
            if (is_dir($directory . '/' . $folder)) {
                $json['error'] = $this->language->get('error_exists');
            }
        }

        if (!$json) {
            mkdir($directory . '/' . $folder, 0777);

            $json['success'] = $this->language->get('text_directory');
        }

        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }

    public function delete() {
        $this->load->language('common/filemanager');

        $json = array();

        // Check user has permission
        if (!$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 validations
        foreach ($paths as $path) {
            $path = rtrim(DIR_IMAGE . str_replace(array('../', '..\\', '..'), '', $path), '/');

            // Check path exsists
            if ($path == DIR_IMAGE . 'catalog') {
                $json['error'] = $this->language->get('error_delete');

                break;
            }
        }

        if (!$json) {
            // Loop through each path
            foreach ($paths as $path) {
                $path = rtrim(DIR_IMAGE . str_replace(array('../', '..\\', '..'), '', $path), '/');

                // If path is just a file delete it
                if (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 through
                    while (count($path) != 0) {
                        $next = array_shift($path);

                        foreach (glob($next) as $file) {
                            // If directory add to path array
                            if (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 delete
                        if (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));
    }
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кому поможет отписывайтесь - на какой версии помогло. Перед изменениями на всякий случай создайте копию изменяемого файла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кому поможет отписывайтесь - на какой версии помогло. Перед изменениями на всякий случай создайте копию изменяемого файла.

заменил код в файле, менеджер изображений вообще перестал открываться ((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если хочешь могу на сайте у тебя поправить или скинь свой filemanager.php, чтобы сравнить и посмотреть из-за чего может быть ошибка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

klimbronin , используйте для кода кнопочку "код" при написании сообщения. Иначе его невозможно читать и непредсказуем результат копирования. А еще там есть кнопочка "спойлер".

Вашу портянку всю не просматривал, но, как минимум, не хватает закрывающего

?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

klimbronin, спасибо Вам за код. Тестировали на 2.1.0.2 в общем-то все работает, путь действительно запоминается, это нааамного облегчило добавление товаров. Но есть одно но, не знаю с чем это связано но после входа из папки categories(основная папка) в любую другую, обратно вернуться не получается. Если задача просто добавлять фото для товара, это не так важно, но просто хочу сообщить, что есть такая проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Протестируйте на сборке Ocstore последней и это можно выложить в следующем релизе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Небольшая модификация.В дополнение к предыдущему решению убирает пагинацию  заменяя её скролом (как в версии 1.5).

 

PS Сделать предварительно бэкап аналогичных файлов  в магазине.Заменить после файлами из архива.

 

 

filemaneger_update2.zip

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не работает символ '&' в названиях папок и файлов - становится не доступным папка и файл не грузится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не работает символ '&' в названиях папок и файлов - становится не доступным папка и файл не грузится.

 

не используйте нестандартные символы в названии и проблем не будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  1. А вывод папок списком, а не плиткой, реально сделать? при этом вывод изображений оставить плиткой.

Названия некоторых папок почему то разделяются пробелами посреди слова, например: "Clea n Dew Mi nt O il". У всех так ?

Изменено пользователем sifo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ОС 2.2. стандартный шаблон.

 

1) Как сделать, чтобы фотки показывались по дате добавления (последние) ?

 

2) Как показать все фотки, без пагинации в папке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 14.07.2016 в 19:27, bitterlemon сказал:

1) Как сделать, чтобы фотки показывались по дате добавления (последние) ?

Где-то видел, что в admin/controller/common/filemanager.php перед:

foreach ($files as $file) {

нужно добавить:

usort($files, create_function('$a,$b', 'return filemtime($b) - filemtime($a);'));

Но у меня  в ocStore 2.1.0.2.1 почему-то сортировка по дате все равно не работает.

Изменено пользователем kos0760

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кажется решил проблему. Эту строку:

usort($files, create_function('$a,$b', 'return filemtime($b) - filemtime($a);'));

нужно вставлять после:

// Get files
		$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);

и последнее добавленное изображение в списке находится в самом начале.

Изменено пользователем kos0760

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=8221&filter_search=Image manager&filter_license=free&filter_download_id=47

вот классный менеджер бесплатный, запоминает папку и помимо этого еще есть класные дополнительные функции например мульти загрузка и привзяка изборажений.

Полезно? Плюсани :)

  • +1 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 27.01.2017 в 18:26, bitrixlviv сказал:

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=8221&filter_search=Image manager&filter_license=free&filter_download_id=47

вот классный менеджер бесплатный, запоминает папку и помимо этого еще есть класные дополнительные функции например мульти загрузка и привзяка изборажений.

Полезно? Плюсани :)

Чувак! Я тебя люблю! Спасибо ОГРОМНОЕ =)

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В продолжение к предыдущему посту. Если у кого-то "исчезают" папки при открытии в окне загрузки: называйте их на транслите и без запятых...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, как заставить искать по любой части имени файла, а не только с начала?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начните со *

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От chick
      800.00 руб
      Скачать/Купить дополнение


      Менеджер изображений opencart 3.x
      Основные возможности менеджера изображений:
      Загрузка одного или нескольких файлов на сервер Загрузка файлов путем перетаскивания (drag&drop) Установка разрешенных типов файлов для загрузки Установка водяного знака на изображения при загрузке на сервер Запоминает последнюю директорию и открывает ее при открытии Групповое добавление файлов в карточке товара Редактирование изображение (поворот, обрезка, изменение размера) Архивирование/разархивирование файлов Выделение файлов (через Ctrl или Shift) Изменение размера превью картинок Другие возможности (см. демо) Демо карточки товара: http://imman-oc3.2304.ru/admin/index.php?route=catalog/product/edit&product_id=42
      Демо настроек модуля: http://imman-oc3.2304.ru/admin/index.php?route=extension/module/imagemanager

      Логин/Пароль: demo/demo
       
      Для opencart и ocstore версий 2.3 - модуль тут
      Добавил chick Добавлено 29.06.2018 Категория Модули Системные требования Сайт разработчика https://ocorshka.ru Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop  
    • От chick
      Основные возможности менеджера изображений:
      Загрузка одного или нескольких файлов на сервер Загрузка файлов путем перетаскивания (drag&drop) Установка разрешенных типов файлов для загрузки Установка водяного знака на изображения при загрузке на сервер Запоминает последнюю директорию и открывает ее при открытии Групповое добавление файлов в карточке товара Редактирование изображение (поворот, обрезка, изменение размера) Архивирование/разархивирование файлов Выделение файлов (через Ctrl или Shift) Изменение размера превью картинок Другие возможности (см. демо) Демо карточки товара: http://imman-oc3.2304.ru/admin/index.php?route=catalog/product/edit&product_id=42
      Демо настроек модуля: http://imman-oc3.2304.ru/admin/index.php?route=extension/module/imagemanager

      Логин/Пароль: demo/demo
       
      Для opencart и ocstore версий 2.3 - модуль тут
    • От SergeTkach
      375.00 руб
      Скачать/Купить дополнение


      Alternative Photo Uploader for OpenCart 2.x
      Если Вам нужно удобно быстро загружать фото товаров в админке, то модуль Alternative Photo Uploader создан специально для Вас!
       
      Его цена ниже многих подобных модулей. А его отличительной особенностью является отказ от ручного распределения фотографий по папкам при добавлении изображений на сайт.
       
      Модуль "Альтернативный Загрузчик Изображений для OpenCart 2.x" () изменят стандартную загрузку фото в товарах, что делает управление товарами более быстрым и удобным. Система становится более дружественной к пользователю
       
      ==========================================
      Демо
      В качестве демо Вы можете скачать модуль здесь и установить модуль к себе на сайт, так чтобы пощупать, подходит он Вам или нет.
      В модуле необходимо активировать временную лицензию.
       
      ==========================================
      Особенности
      Добавление фото без лишних кликов (2 вместо 7). Отказ от ручного выбора папок  — распределение по 100 файлов в автоматически создаваемые папки (для товаров, категорий, производителей). Мультизагрузка файлов — не надо выбирать каждое фото по отдельности. НЕТ КОНФЛИКТА с модулями Опции изображений (проверено на шаблоне S-store ) Есть плюшка "Общие фото" для нескольких товаров (к примеру, сертификат качества, к-ый необходим для нескольких товаров) Ограничение по загрузке слишком больших файлов (можно назначать в настройках модуля). Экономия дискового пространства. Есть настройка сжатия изображений после загрузки (можно назначать максимальную ширину и высоту сохраняемых файлов в пикселях). В итоге файлы на 2-3 МБ превращаются в файлы 100-300 КБ Транслитерация и очистка названий файлов от некорректных символов. Без этого, при использовании кириллических названий фото невозможно копирование фотографий с хостинга на хостинг. Предотвращение перезаписи файлов с одинаковыми исходными названиями. Создаются копии с дополнительной меткой. Папка с изображениями недоступна для встроенного файл-менеджера, что исключает конфликты.  
       
      =============================================
      Технические требования
      Модуль в том виде, как есть, должен работать на сервере, где установлены:

      Ion Cube Loader не ниже версии 5
      php 5.4 - 5.6

      Модуль может быть перекодирован под Ваши технические требования, но не ниже php 5.4
       
      Работает на ветке 2.х!


      =============================================
      === Внимание! Условия покупки и использования ===
      =============================================
      Покупая данный модуль, Вы осознаете следующее:
      Автор  дает полную гарантию, что весь заявленный функционал будет работать на тех версиях системы, что заявлены с теми техническими характеристиками хостинга (сервера), что заявлены. В случае неработоспособности из-за ошибок в модуле, обязуется исправить ее в течение 3 рабочих дней. Лицензия выдается на 1 домен (+до 3 отладочных доменов). Во время акций, лицензии выдаются на несколько доменов, но никогда не выдается на бесконечное число доменов. Модуль содержит зашифрованные файлы, обеспечивающие контроль над лицензиями Вы отказываетесь от намерения запрашивать открытый исходный код зашифрованных файлов Модуль представляет собой типичное решение типичной задачи и используется в том виде, как есть. Все индивидуальные запросы, которые меняют функционал модуля решаются в индивидуальном порядке с конкретным покупателем  
       
       
       
      Добавил SergeTkach Добавлено 29.12.2016 Категория Инструменты, утилиты Системные требования Ioncube Loader v6, PHP 5.4 Сайт разработчика http://sergetkach.com/ Старая цена Метод активации По запросу в ЛС
      По запросу на почту
      По емейлу
      Автоматическая активация Ioncube Loader Требуется OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop Не проверялось  
    • От SergeTkach
      Если Вам нужно удобно быстро загружать фото товаров в админке, то модуль Alternative Photo Uploader создан специально для Вас!
       
      Его цена ниже многих подобных модулей. А его отличительной особенностью является отказ от ручного распределения фотографий по папкам при добавлении изображений на сайт.
       
      Модуль "Альтернативный Загрузчик Изображений для OpenCart 2.x" () изменят стандартную загрузку фото в товарах, что делает управление товарами более быстрым и удобным. Система становится более дружественной к пользователю
       
      ==========================================
      Демо
      В качестве демо Вы можете скачать модуль здесь и установить модуль к себе на сайт, так чтобы пощупать, подходит он Вам или нет.
      В модуле необходимо активировать временную лицензию.
       
      ==========================================
      Особенности
      Добавление фото без лишних кликов (2 вместо 7). Отказ от ручного выбора папок  — распределение по 100 файлов в автоматически создаваемые папки (для товаров, категорий, производителей). Мультизагрузка файлов — не надо выбирать каждое фото по отдельности. НЕТ КОНФЛИКТА с модулями Опции изображений (проверено на шаблоне S-store ) Есть плюшка "Общие фото" для нескольких товаров (к примеру, сертификат качества, к-ый необходим для нескольких товаров) Ограничение по загрузке слишком больших файлов (можно назначать в настройках модуля). Экономия дискового пространства. Есть настройка сжатия изображений после загрузки (можно назначать максимальную ширину и высоту сохраняемых файлов в пикселях). В итоге файлы на 2-3 МБ превращаются в файлы 100-300 КБ Транслитерация и очистка названий файлов от некорректных символов. Без этого, при использовании кириллических названий фото невозможно копирование фотографий с хостинга на хостинг. Предотвращение перезаписи файлов с одинаковыми исходными названиями. Создаются копии с дополнительной меткой. Папка с изображениями недоступна для встроенного файл-менеджера, что исключает конфликты.  
       
      =============================================
      Технические требования
      Модуль в том виде, как есть, должен работать на сервере, где установлены:

      Ion Cube Loader не ниже версии 5
      php 5.4 - 5.6

      Модуль может быть перекодирован под Ваши технические требования, но не ниже php 5.4
       
      Работает на ветке 2.х!


      =============================================
      === Внимание! Условия покупки и использования ===
      =============================================
      Покупая данный модуль, Вы осознаете следующее:
      Автор  дает полную гарантию, что весь заявленный функционал будет работать на тех версиях системы, что заявлены с теми техническими характеристиками хостинга (сервера), что заявлены. В случае неработоспособности из-за ошибок в модуле, обязуется исправить ее в течение 3 рабочих дней. Лицензия выдается на 1 домен (+до 3 отладочных доменов). Во время акций, лицензии выдаются на несколько доменов, но никогда не выдается на бесконечное число доменов. Модуль содержит зашифрованные файлы, обеспечивающие контроль над лицензиями Вы отказываетесь от намерения запрашивать открытый исходный код зашифрованных файлов Модуль представляет собой типичное решение типичной задачи и используется в том виде, как есть. Все индивидуальные запросы, которые меняют функционал модуля решаются в индивидуальном порядке с конкретным покупателем  
       
       
       
    • От tarvolok
      Скачать/Купить дополнение


      Автоматическое удаление картинок с товаром
      Простой и незаменимый мод для OpenCart 1.5.3.1 и 1.5.4.1
      Осуществляет удаление вместе с товаром привязанных к нему картинок.
      Как это работает?
      С помощью VQMOD вносится изменение всего в один файл, admin/model/catalog/product.php у кого не установлен vqmod может внести изменения самостоятельно на основе инструкций файла.
      Изменения заставляют менеджер продуктов осуществлять проверку по критерию связи продукта с картинками и когда вы будете удалять ненужный товар то он будет удаляться вместе со своими картинками.
      Помогает экономить много места на диске и избавляет от накопления хлама.
      Внимание! Если вы используете одну и туже картинку с разными товарами - не рекомендуется использовать этот модуль.
      Добавил tarvolok Добавлено 05.11.2013 Категория Прочее  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.