Opencart файловый менеджер

04.04.2015 12:59

Много раз возникала задача к какой-либо текстовой странице прикрепить ссылку на .pdf или .xlx файл. По умолчанию менеджер файлов opencart не поддерживает работу с этими типами файлов, а для их размещения предусмотрен отдельный механизм, файлы для скачивания становятся доступны на странице личного кабинета покупателя. Нашу задачу этот способ никак не решает, так что выход один- переделать файловый менеджер.

Открываем: /admin/controller/common/filemanager.php. В раойне 245 строчки находим код:

// Allowed file extension types
$allowed = array(
'jpg',
'jpeg',
'gif',
'png'
);

В который через запятую добавляем нужные расширения, например:

// Allowed file extension types
$allowed = array(
'jpg',
'jpeg',
'gif',
'png',
'xls',
'xlsx',
'doc',
'docx'
);

Немного ниже находим фильтр файлов по mime-type:

// Allowed file mime types
$allowed = array(
'image/jpeg',
'image/pjpeg',
'image/png',
'image/x-png',
'image/gif',
);

Добавляем в него нужные mime-type, самые распространённые типы которых можно посмотреть, например, в википедии.

// Allowed file mime types
$allowed = array(
'image/jpeg',
'image/pjpeg',
'image/png',
'image/x-png',
'image/gif',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
);

Теперь менеджер файлов будет загружать не только картинки но и документы. Для того чтобы он их отображал и позволял выбрать, нужно подправить фильтр. В районе 36 строчки находим:

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

И добавляем туда наши новые расширения. Обязательно в двух вариантах: заглавными и строчными буквами. Дублировать приходится потому что файловая система в linux like операционных системах жестко различает заглавные и строчные буквы, и только для windows они являются одинаковыми.

Далее. Если вы используете opencart версии 1.5.x, то Вам наверняка нужно увеличить размер загружаемого файла. Для этого найдите строчку:

if ($this->request->files['image']['size'] > 300000) {
$json['error'] = $this->language->get('error_file_size');
				}

Вместо 300000 подставьте нужное значение. Во второй версии opencart ограничения на размер файла убраны по умолчанию, но появилась проблема с вставкой кода ссылки, т.к. в текстовом редакторе нельзя выбрать для ссылки загруженный файл, а можно только вручную его указать. Выхода из этой ситуации два: первый- указывать файл через диалог вставки изображения, а затем через редактор исходного кода копировать ссылку на файл; второй- подключить другой текстовый редактор, но как это сделать- читайте в скором времени.



Opencart фотогалерея

Если возникла необходимость создать галерею на opencart, то в стандартной сборке присутствует плагин magnific-popup. По умолчанию он автоматически подключается к карточке товара, а чтобы был подключен всегда сделаем следующее:

Изображения подкатегорий opencart 2

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


(2) Комментариев

kwakin - 01.05.2018 15:34:16
- 0    + 0
как это сделать на ocstore 21021
Илья - 10.05.2018 03:43:05
- 0    + 0
Не знаю. Я уже 3-4 года, как не занимаюсь опенкартом, что сейчас с ним творится- хз.