Модуль генерации прайслиста в формате Microsoft Excel для CMS Opencart

Всем привет!

Давненько я тут ничего не писал. Все как-то руки не доходили. ( Вообще нормальные люди обычно ходят ногами, но что тут поделать. Раз есть такое выражение - нужно срочно его использовать :) )

Сегодня я хочу рассказать об одном из своих модулей для opencart и ocstore в частности. Собственно этот модуль - один из виновников, почему здесь так долго не появлялись записи.

Для начала небольшое отступление. Представим себе, что у Вас есть интернет-магазин на опенкарт ( Раз уж Вы тут, то он у Вас либо уже есть, либо скоро обязательно будет). Что собой представляет сайт интернет-магазина? Набор cтраниц со списками товаров, страниц товаров с их описаниями, ценами и т.д. Но зачастую бывает удобно, а иногда просто необходимо дать посетителю возможность иметь информацию о ваших товарах всегда под рукой и к тому же в удобном для него формате. Не забываем, что посетитель Вашего интернет-магазина - это Ваш потенциальный покупатель. Следовательно, Ваша задача - как можно в более удобной форме предоставить ему информацию о Ваших товарах. Еще лучше, если этих форм несколько.

Собственно модуль как раз и решает данный вопрос, предоставляя посетителю информацию о товарах в наиболее удобной на мой взгляд форме. В форме прайслиста Microsoft Excel. Это просто необходимо, если у Вас в магазине достаточно большой ассортимент товаров. Или если вы работаете с оптовыми покупателями. Оптовики просто обожают прайсы :) Почему бы не дать им их. Тем более, что эти самые прайсы при помощи моего модуля генерируются автоматически. Достаточно лишь нажать соответствующую "кнопочку" в панели администрирования. При этом имеется полная поддержка мультимагазинов и различных языков (модуль поддерживает русский и английский, но добавить дополнительные языки не представляет из себя проблему. Достаточно лишь создать соответствующие языковые файлы).

А теперь собственно о модуле.

Изначально модуль писался с использованием библиотеки Spreadsheet_Excel_Writer из пакета PEAR. Она уже давно не поддерживается, но в принципе давала необходимый функционал (как оказалось позже, я ошибся с выбором).

В процессе использования модуля выплыли некоторые неприятные моменты. Первое - в php 5.3 и выше многие функции, используемые в этой библиотеке, были переведены в статус deprecated. Мне стали приходить письма от пользователей, которые жаловались на то, что при работе модуля в log пишется много сообщений типа warning: function .... was deprecated. Это не есть хорошо. Плюс ко всему, файл генерировался в формате Microsoft Excel 97. Это создавало определенные проблемы при попытке открыть файл в программах, отличных от Microsoft Excel (Open office, Libre Office, Apple Pages и т.д.)

Ну а самым печальным оказалось то, что в одну ячейку не записывалось более 255 символов. Остальное попросту обрезалось. Само собой, я принял решение переписать модуль. При этом была использована другая библиотека phpexcel. Библиотека поддерживается и развивается и для целей модуля идеально подошла.

В результате новый модуль избавился от вышеописанных проблем и оброс новыми "плюшками".

И так. Если у Вас 2 языка и 2 магазина - модуль создаст 4 прайс-листа. (2х2 как известно = 4. По одному прайсу на вариант язык-магазин)

Модуль имеет множество настроек.

Вот список его ключевых особенностей:

-Все наименования категорий и товаров выводятся в виде ссылок.
-При формировании цены в прайсе учитываются скидки на товар, спец-предложения.
-Модуль имеет 4 настраиваемых поля для вывода в заголовке прайса + одно поле для вывода ссылки на сайт + поле для вывода своего текста (банковские реквизиты, примечания и т.д.);-вывод в шапку прайса произвольного изображения (например логотип компании);
-Можно выбрать категории, товары из которых будут выводиться в прайс;
-Можно выбрать сортировку выводимых товаров внутри категории;
-Также можно в генерируемый прайс выводить картинки товаров;
-Размеры выводимых картинок также настраиваются;
-Можно выбрать валюту для генерации, и группы покупателей. При выборе нескольких групп - генерируется многостраничный прайс;
-Вывод товаров с опциями и без них;
-Возможность вывода атрибутов товаров;
-Поддержка мультиязычности;
-Можно выбрать, выводить в прайс или нет товары с нулевыми или отрицательными остатками, а также, выводить ли в прайс остатки;
-Настраиваемые ширины полей;
-Поддержка кеширования на диске или memcache;
-Можно выбрать - выводить или нет колонки "модель" и "акции";
-Можно выбрать какое поле выводить в качестве кода товара (sku или model);
-Поддержка мультимагазинов. Для каждого магазина генерируется свой прайс.

Сам модуль находится тут

Спасибо, что потратили свое время и прочли эту статью до конца. Надеюсь, что я свое время потратил не зря и этот модуль поможет увеличить Ваши продажи.

PS: Огромная к Вам просьба от лица всех отечественных разработчиков, и разработчиков дополнений под opencart в частности. Покупая официально, Вы тем самым поддерживаете наш стимул для написания новых полезных дополнений. В результате Вы же останетесь в выгоде. К тому же Этим Вы обеспечиваете себе поддержку в случае возникновения каких-либо проблем. А так же вы будете иметь доступ к обновлениям, в которых исправляются возможные недочеты и появляется новый функционал.

Не нужно скачивать дополнения со сторонних ресурсов бесплатно. Недобросовестные покупатели выкладывают купленные разработки для бесплатного скачивания для того, чтобы поднять свой рейтинг. "Халява" может показаться сладкой. Но это на первых порах. И как результат - никаких обновлений и уж тем более поддержки.

В любом случае, выбор за Вами. Удачи.

Видео-руководство по установке и настройке модуля: