Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] Загрузчик картинок для магазинов с большим числом товаров


Recommended Posts

Загрузчик картинок для магазинов с большим числом товаров


Загрузчик картинок для магазинов с большим числом товаров


Удобный загрузчик файлов для магазинов с большим числом товаров

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

Работа с ним приводит к одной из двух проблем:

1) - все картинки владелец магазина добавляет в одну директорию,

в результате после того, когда их становится несколько тысяч, сайт начинает серьезно тормозить

и добавить новую картинку становится достаточно трудно, а порой и вообще не возможно

2) - владелец магазина знает, что нужно распределять картинки по папкам и делает это.

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

Данная версия модуля позволяет добавлять и изменять картинки к товарам и категориям не задумываясь о том,

где физически эти картинки на сервере будут размещены. Больше об выборе места их размещения заботиться не нужно!

Картинки загружаются на сервер в директорию image/data, внутри которой автоматически создаются подкатегории вида XX/YY, где XX,YY - числа от 00 до 99

Преимущества

  • файлы добавляются в 1 клик
  • можно добавить миллионы картинок и при этом нагрузка на сервер не возрастет
  • файлы в папках распределяются равномерно. Не более 100 файлов в папке и не более 100 вложенных папок.
  • можно добавлять файлы с одинаковыми именами, они переименовываются автоматически
  • нет проблемы в работе с картинками, имеющими русские названия
  • структуру папок и файлов с изображениями, можно автоматически конвертировать в оптимизированный формат

Модуль не изменяет ни каких файлов движка. VQMOD - обязателен

Протестировано на

OpenCart 1.5.4, 1.5.5, 1.5.6

ocStore 1.5.4, 1.5.5

За основу модуля был взял стандартный filemanager.

Установка.

Работает с vqmod

1. Скопировать файлы из папки upload в корень сайта Если обновляете предыдущую версию согласитесь на замену имеющихся файлов.

2. Установить модуль "Удобный загрузчик файлов".

Пожелания о доработке и дальнейшем улучшении функционала приветствуются в теме поддержки модуля.


 

Надіслати
Поділитися на інших сайтах

Да, все правильно. Модуль равномерно распределяет картинки по папкам, чтобы не создавать излишнюю нагрузку на сервер. При стандартных настройках в каждой папке будет создано не более 100 подпапок, в каждой из которых может быть размещено до 100 картинок.

Таким образом максимальное число картинок, которые можно разместить 10 млн. шт. Если этого для кого-то окажется не достаточно, очень просто можно сделать 3-х значные имена папок. В этом случае максимальное число картинок составит 10 млрд. шт

Надіслати
Поділитися на інших сайтах

установил вроде по инструкции.. но при нажатии "Загрузить изображение" выдает то, что типа "Доступ запрещен! У Вас нет прав для доступа к этой странице. Если она Вам нужна, обратитесь к администратору." и нельзя ничего сделать.. как это можно исправить? 

 

ocStore Версия 1.5.5.1.1

 

121.jpg

Надіслати
Поділитися на інших сайтах


Это типичная ситуация, которая возникает после установки нового модуля. Вам нужно в админке Система / Пользователи / Группы пользователей / Главный Администратор (или другой группы, в какой находится ваш аккаунт) установить права на просмотр и изменение для файла adnfilemanager.php

Надіслати
Поділитися на інших сайтах

Это типичная ситуация, которая возникает после установки нового модуля. Вам нужно в админке Система / Пользователи / Группы пользователей / Главный Администратор (или другой группы, в какой находится ваш аккаунт) установить права на просмотр и изменение для файла adnfilemanager.php

 

Первый раз с этим столкнулся) спасибо за быстрый ответ! Все отлично работает!!

 

Очень удобный модуль.. всем советую.. особенно когда на повестке 1000+ позиций по прайсу)

Надіслати
Поділитися на інших сайтах


Удобно было бы дописывать префикс у папок, или создать шаблонизатор таких папок - например, загружаю из созданного товара, он кладет фото в папку с $prefix_number->model_name_folder

Надіслати
Поділитися на інших сайтах


У меня сейчас заливка на проекте по схеме:

Создается *.csv

создается каталог newXXX

в нем подпапки с название модели

а так можно выставить просто имя префикса к папке

дата_произвольное число -> код_товара например...

тогда и по дате можно удалять, у меня, например один апдейт 50-60 папок(товаров) как раз под вашу схему подпадает.

Надіслати
Поділитися на інших сайтах


Удобно было бы дописывать префикс у папок, или создать шаблонизатор таких папок - например, загружаю из созданного товара, он кладет фото в папку с $prefix_number->model_name_folder

 Не совсем понял зачем это нужно...

Сейчас пишу утилиту, которая будет позволять преобразовывать файловое хранилище из стандартной структуры в мою. Там же хочу добавить настроек и опций. Что покажется мне логичным и удобным постараюсь реализовать. Поэтому предлагайте

Надіслати
Поділитися на інших сайтах

Обновилась версия модуля до 1.1.0.

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

 

Прошу тестировать. Задача эта требует много ресурсов сервера и на разных настройках, думаю, могут быть сюрпризы...

Надіслати
Поділитися на інших сайтах

А почему нельзя тем же файловым менеджером напрямую (data/image) закачать нужные папки с картинками или просто картинки? Или через модуль удобнее просто все?

Надіслати
Поділитися на інших сайтах


А почему нельзя тем же файловым менеджером напрямую (data/image) закачать нужные папки с картинками или просто картинки? Или через модуль удобнее просто все?

вопрос не понятен. Но попробую ответить.

 

В файловом менеджере вы должны сами решать куда закачать картинку, Создавать под нее папку, как-то ее называть и помнить куда вы ее положили. Потом вы находите в этой папке загруженную картинку и добавляете ее товару, или категории или еще чему либо. Попробуйте найти загруженную картинку, когда в папку уже загружено  несколько сотен штук. И сразу поймете зачем этот модуль.

 

p.s. На одном сайте, с которым мне пришлось решать проблемы в одной папке оказалось более 10 000 картинок. Через фтп ее вообще не возможно было просмотреть... Хостер постоянно требовал докупать ресурсы и, в конце, предложил только перевести сайт на выделенный сервер. Всего картинок было 35 000 шт. Товаров 10 000 шт. После применения модуля сайт нормально стал работать на самом не дорогом vds. А после оптимизации базы данных, применения кэширования и пр. действий - можно работать и на обычном хостинге.

Надіслати
Поділитися на інших сайтах

Модуль, хороший. Работает быстро.

Но! Множить папки для каждого фото. Это не очень удобно, так как в итоге не знаешь где какое фото лежит.

А вот мысль о том, чтобы самостоятельно зачать на сервер файлы, как мне надо и прикреплять их к товару с сервера - это очень удобно.

 

Зачем создавать кучу не нужных папок?

Пожалуйста, расскажите как избавиться от лишних папок?

И еще вопрос, как оставить изначальное наименование фото?

Надіслати
Поділитися на інших сайтах


Модуль, хороший. Работает быстро.

Спасибо за отзыв!

 

Но! Множить папки для каждого фото. Это не очень удобно, так как в итоге не знаешь где какое фото лежит.

Именно и задумано, чтобы не нужно было знать, где лежит картинка.

 

Зачем создавать кучу не нужных папок?

Они все нужные!

Благодаря такой структуре на файловую систему сервера создается минимальная нагрузка, картинки отдаются максимально быстро. В каждой папке будет находиться 100 файлов или папок. Максимум равномерно поместится 10 млн. файлов

 

И еще вопрос, как оставить изначальное наименование фото?

 

Картинки переименовываются, чтобы исключить возможность попадания в папку нескольких, с одинаковыми названиями и убрать проблему с русскими символами, пробелами и пр. в именах

 

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

Надіслати
Поділитися на інших сайтах

Если кто хочет несколько изменить алгоритм создания структуры папок и файлов, вы это можете сделать в модели: admin/model/tool/adnfilemanager.php

 

за переименовывать загруженных файлов отвечает публичный метод newName ($filename)

public function newName($filename) {
  $filename = html_entity_decode($filename, ENT_QUOTES, 'UTF-8');
 
  $file_type = strtolower(substr($filename, strrpos($filename, '.') + 1));
 
  return md5(time() . mt_rand()) . '.' . $file_type;
}

структура папок формируется в публичном методе directoryById ($file_id) на основе id добавляемого файла, информация о котором записывается в таблицу <префикс>upload_file

public function directoryById($file_id) {
  $number = sprintf('%08d', $file_id);
 
  $path = '' .
  substr($number, -2) . '/' .
  substr($number, -4, 2);
  return $path;
}
Надіслати
Поділитися на інших сайтах

Залил. Установил. Сделал перестройку, все ОК!
Добавились папки 100 шт. 
И... всё. Больше ничего не поменялось. Так должно быть?)
А то на скрине совсем другой загрузчик.
Версия сборки 15512

post-666765-0-17786900-1407869282_thumb.png

Надіслати
Поділитися на інших сайтах


Залил. Установил. Сделал перестройку, все ОК!

Добавились папки 100 шт. 

И... всё. Больше ничего не поменялось. Так должно быть?)

А то на скрине совсем другой загрузчик.

Версия сборки 15512

Нет, так быть не должно. По видимому, у вас не выполнились все правила vqmod из-за какой-либо ошибки. Смотрите их в лог файле vqmod  в админке, если есть менеджер vqmod, или на сервере.

Надіслати
Поділитися на інших сайтах

да, вы правы. была изменена папка админки, тупанул.

Всё работает. Но в описании товара, в редакторе самом есть так же загрузчик картинок, там работает старый (основной). 

Надіслати
Поділитися на інших сайтах


Всё работает. Но в описании товара, в редакторе самом есть так же загрузчик картинок, там работает старый (основной). 

Там оставил, как было, думал, так правильно. Но если нужно, - сделаю

Надіслати
Поділитися на інших сайтах

Всё работает. Но в описании товара, в редакторе самом есть так же загрузчик картинок, там работает старый (основной).

 

Чтобы в описании товара использовался модифицированный загрузчик, необходимо в файл vqmod/xml/vqmod_adn_filemanager.xml

вставить следующий код

<file name="admin/view/template/catalog/product_form.tpl">
  <operation>
   <search position="replace" offset="5"><![CDATA[
filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',
   ]]></search>
   <add><![CDATA[
filebrowserBrowseUrl: 'index.php?route=common/adnfilemanager&token=<?php echo $token; ?>',
filebrowserImageBrowseUrl: 'index.php?route=common/adnfilemanager&token=<?php echo $token; ?>',
filebrowserFlashBrowseUrl: 'index.php?route=common/adnfilemanager&token=<?php echo $token; ?>',
filebrowserUploadUrl: 'index.php?route=common/adnfilemanager&token=<?php echo $token; ?>',
filebrowserImageUploadUrl: 'index.php?route=common/adnfilemanager&token=<?php echo $token; ?>',
filebrowserFlashUploadUrl: 'index.php?route=common/adnfilemanager&token=<?php echo $token; ?>'
   ]]></add>
  </operation>
</file>
Надіслати
Поділитися на інших сайтах

Скажите, пожалуйста, может я что-то не так сделала, но при установке модуля выскакивает окно см. вложение и после установки ничего не меняется, остаётся старый загрузчик картинок(( (V 1.5.5.1.2)

 

 

post-685994-0-01618800-1408005240_thumb.png

Надіслати
Поділитися на інших сайтах


Добрый день. Столкнулся с проблемой установки на ocStore-1.5.5.1.2 изменено название админки, вроде в моде где нужно изменил на правильное, модуль установил в админке права дал, но по прежнему открывается старый менеджер. Извините если что не так :) после больницы пишу с одним открытым глазом :) может где и накосячил. Спасибо 
З,Ы. и при установке точно так же как и у Аленки ничего не пишит

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.