10

Product support

Visit this product's website for support.

Categories

Please, use the following credentials user:manager,password:manager for logging to the Dashboard.

Overview

Shopaholic is a scalable and highly flexible e-commerce ecosystem for October CMS. The core plugin is provided free of charge and includes the following set of features:

  • Products and trade offers management.
  • Product image gallery management.
  • Products grouping by categories and brands.
  • Multi-currency, taxes and price types management.
  • Data import (product, offers, categories, brands) from a CSV/XML file.
  • Basic products filtering (by category, brand etc.) and sorting (by price, new additions etc.)

In order to cater to the growing scalability demands of a project, the ecosystem provides extra plugins to extend the basic functionality. With these plugins sellers can:

Besides you can provide a better UX for the customer with the ability to:

The development of Shopaholic’s ecosystem is guided by the similar philosophies of October CMS and Unix like operating systems, where the main focus is to create simple microarchitecture solutions that communicate with each other through smart APIs.

One one hand, this approach allows keeping performance, security, and functionality of the code to a high standard. On the other hand, it provides a clean and smooth back-end UI/UX that isn't over-bloated with the features.

Installation

Regardless of the installation type you choose, you must install Toolbox plugin, which is a required dependency for Shopaholic.

Artisan

Using the Laravel’s CLI is the fastest way to get started. Just run the following commands in a project’s root directory:

php artisan plugin:install lovata.toolbox
php artisan plugin:install lovata.shopaholic

Composer

If you prefer Composer run following commands in a project’s root directory:

composer require lovata/oc-toolbox-plugin
composer require lovata/oc-shopaholic-plugin
php artisan october:up

It's not recommended way because of possible collisions with the updating of the plugins.

Once the plugins are installed take a look at the official documentation for the possible next steps.

Documentation

The complete official documentation of the ecosystem can be found here.

Performance

As an environment for a testing measurements was used simple Digital Ocean droplet with this configuration:

  • Dual Core CPU
  • 4 Gb RAM
  • Ubuntu 18.04
  • PHP 7.2.0
  • Apache 2.4
  • MySQL 5.7
Products number Catalog page load time Product list filtering time
210 100-150 ms 80-100 ms
21 000 900-1100 ms 500-600 ms

If you would like to know how our plugins perform with large catalogs of products, you can visit our Large Catalog Live Demo that has 21 000 products, 68 000 offers and 210 000 variations of property values.

Code quality

We ensure the high quality of our plugins and provide you with full support. All of our plugins have extensive documentation. The quality of our plugins goes through rigorous testing, we have launched automated testing for all of our plugins. Our code conforms with the best writing and structuring practices. All this guarantees the stable work of our plugins after they are updated with new functionality and ensures their smooth integration.

Get involved

If you're interested in the improvement of this project you can help in the following ways:

  • bug reporting and new feature requesting by creating issues on plugin GitHub page;
  • contribution to a project following these instructions;
  • localization to your language using Crowdin service.

License

© 2019, LOVATA Group, LLC under GNU GPL v3.

Developed by Andrey Kharanenka.

The following plugin is required
This plugin is also included into the following bundles
The following plugins extend or depend on the plugin
Filter for Shopaholic
$49.99

Filter for Shopaholic

Shopaholic E-Commerce extension: Adds filtration by price, properties, discount, quantity

119 projects
# 12 in Paid of all time.
$49.99

Filter for Shopaholic

Shopaholic E-Commerce extension: Adds filtration by price, properties, discount, quantity

Properties for Shopaholic
$14.99

Properties for Shopaholic

Shopaholic E-Commerce extension: allows to fill in additional properties for products and offers

190 projects
# 6 in Paid of all time.
$14.99

Properties for Shopaholic

Shopaholic E-Commerce extension: allows to fill in additional properties for products and offers

Orders for Shopaholic
Free

Orders for Shopaholic

Shopaholic E-Commerce extension: allows adding products to cart and making orders

2,873 installations
# 17 in Free of all time.
Free

Orders for Shopaholic

Shopaholic E-Commerce extension: allows adding products to cart and making orders

Omnipay for Shopaholic
Free

Omnipay for Shopaholic

Shopaholic E-Commerce extension: adds intergation with ignited/laravel-omnipay package

802 installations
# 123 in Free of all time.
Free

Omnipay for Shopaholic

Shopaholic E-Commerce extension: adds intergation with ignited/laravel-omnipay package

Popularity for Shopaholic
$5

Popularity for Shopaholic

Shopaholic E-Commerce extension: adds popularity counter for products, allows sorting products by popularity

58 projects
# 29 in Paid of all time.
$5

Popularity for Shopaholic

Shopaholic E-Commerce extension: adds popularity counter for products, allows sorting products by popularity

Tags for Shopaholic
$9.99

Tags for Shopaholic

Shopaholic eCommerce extension: allows to group products by tags

50 projects
# 17 in Paid of all time.
$9.99

Tags for Shopaholic

Shopaholic eCommerce extension: allows to group products by tags

Reviews for Shopaholic
$9.99

Reviews for Shopaholic

Shopaholic eCommerce extension: allows to write product reviews, sort products by rating

57 projects
# 26 in Paid of all time.
$9.99

Reviews for Shopaholic

Shopaholic eCommerce extension: allows to write product reviews, sort products by rating

Related Products for Shopaholic
$5

Related Products for Shopaholic

Shopaholic eCommerce extension: adds the ability to create related products

76 projects
# 13 in Paid of all time.
$5

Related Products for Shopaholic

Shopaholic eCommerce extension: adds the ability to create related products

Accessories for Shopaholic
$5

Accessories for Shopaholic

Shopaholic E-Commerce extension: allows to create accessories for products

46 projects
# 33 in Paid of all time.
$5

Accessories for Shopaholic

Shopaholic E-Commerce extension: allows to create accessories for products

Search for Shopaholic
$9.99

Search for Shopaholic

Shopaholic eCommerce extension: allows to search products, categories, tags, brands.

99 projects
# 15 in Paid of all time.
$9.99

Search for Shopaholic

Shopaholic eCommerce extension: allows to search products, categories, tags, brands.

Sphinx for Shopaholic
Free

Sphinx for Shopaholic

Shopaholic eCommerce extension: allows to search products, categories, brands, tags with Sphinx

322 installations
# 324 in Free of all time.
Free

Sphinx for Shopaholic

Shopaholic eCommerce extension: allows to search products, categories, brands, tags with Sphinx

Compare for Shopaholic
$14.99

Compare for Shopaholic

Shopaholic E-Commerce extension: introduces product comparison features

28 projects
# 40 in Paid of all time.
$14.99

Compare for Shopaholic

Shopaholic E-Commerce extension: introduces product comparison features

Viewed Products for Shopaholic
$9.99

Viewed Products for Shopaholic

Shopaholic eCommerce extension: allows users to view the history of viewed products

35 projects
# 38 in Paid of all time.
$9.99

Viewed Products for Shopaholic

Shopaholic eCommerce extension: allows users to view the history of viewed products

PayPal for Shopaholic
$14.99

PayPal for Shopaholic

Shopaholic eCommerce extension: grants your project full power over Paypal payment gateway

37 projects
# 32 in Paid of all time.
$14.99

PayPal for Shopaholic

Shopaholic eCommerce extension: grants your project full power over Paypal payment gateway

My clients
$5

My clients

Allow you to get feedback, orders, requests from users of the site and notify you by email

6 projects
# 159 in Paid of all time.
$5

My clients

Allow you to get feedback, orders, requests from users of the site and notify you by email

Discounts for Shopaholic
$14.99

Discounts for Shopaholic

Shopaholic E-Commerce extension: create discounts for products with Shopaholic

44 projects
# 25 in Paid of all time.
$14.99

Discounts for Shopaholic

Shopaholic E-Commerce extension: create discounts for products with Shopaholic

Coupons for Shopaholic
$29.99

Coupons for Shopaholic

Shopaholic eCommerce extension: create coupons for products with Shopaholic

49 projects
# 24 in Paid of all time.
$29.99

Coupons for Shopaholic

Shopaholic eCommerce extension: create coupons for products with Shopaholic

Campaigns for Shopaholic
$24.99

Campaigns for Shopaholic

Shopaholic eCommerce extension: easily create campaigns with Shopaholic

32 projects
# 34 in Paid of all time.
$24.99

Campaigns for Shopaholic

Shopaholic eCommerce extension: easily create campaigns with Shopaholic

Wish List for Shopaholic
$9.99

Wish List for Shopaholic

Shopaholic eCommerce extension: allows users to add products to their wish list.

36 projects
# 27 in Paid of all time.
$9.99

Wish List for Shopaholic

Shopaholic eCommerce extension: allows users to add products to their wish list.

Stripe for Shopaholic
$14.99

Stripe for Shopaholic

Adds possibility to pay for orders using Stripe

9 projects
# 77 in Paid of all time.
$14.99

Stripe for Shopaholic

Adds possibility to pay for orders using Stripe

Labels for Shopaholic
$9.99

Labels for Shopaholic

Shopaholic e-сommerce extension: adds the ability to mark products with custom labels

15 projects
# 23 in Paid of all time.
$9.99

Labels for Shopaholic

Shopaholic e-сommerce extension: adds the ability to mark products with custom labels

Yandex Kassa for Shopaholic
$14.99

Yandex Kassa for Shopaholic

Payment gateway integration for Shopaholic. 54-FZ Supported!

10 projects
# 9 in Paid of all time.
$14.99

Yandex Kassa for Shopaholic

Payment gateway integration for Shopaholic. 54-FZ Supported!

ROBOKASSA for Shopaholic
$14.99

ROBOKASSA for Shopaholic

Payment gateway integration for Shopaholic.

5 projects
# 89 in Paid of all time.
$14.99

ROBOKASSA for Shopaholic

Payment gateway integration for Shopaholic.

Sberbank for Shopaholic
$14.99

Sberbank for Shopaholic

Payment gateway integration for Shopaholic.

3 projects
# 85 in Paid of all time.
$14.99

Sberbank for Shopaholic

Payment gateway integration for Shopaholic.

LiqPay for Shopaholic
$14.99

LiqPay for Shopaholic

Payment gateway integration for Shopaholic.

2 projects
# 156 in Paid of all time.
$14.99

LiqPay for Shopaholic

Payment gateway integration for Shopaholic.

Uniteller for Shopaholic
$14.99

Uniteller for Shopaholic

Payment gateway integration for Shopaholic.

1 project
# 178 in Paid of all time.
$14.99

Uniteller for Shopaholic

Payment gateway integration for Shopaholic.

Yandex Market for Shopaholic
Free

Yandex Market for Shopaholic

Shopaholic eCommerce extension: allows to export products to Yandex Market

116 installations
# 359 in Free of all time.
Free

Yandex Market for Shopaholic

Shopaholic eCommerce extension: allows to export products to Yandex Market

VK Goods for Shopaholic
Free

VK Goods for Shopaholic

Shopaholic e-commerce extension: allows to export products to VK Goods (vk.com)

80 installations
# 353 in Free of all time.
Free

VK Goods for Shopaholic

Shopaholic e-commerce extension: allows to export products to VK Goods (vk.com)

CDEK for Shopaholic
$25

CDEK for Shopaholic

Integration with CDEK Delivery

4 projects
# 111 in Paid of all time.
$25

CDEK for Shopaholic

Integration with CDEK Delivery

Laravel Scout for Shopaholic plugin
Free

Laravel Scout for Shopaholic plugin

Shopaholic eCommerce extension: allows to search products, categories, tags, brands using laravel Scout.

22 installations
# 434 in Free of all time.
Free

Laravel Scout for Shopaholic plugin

Shopaholic eCommerce extension: allows to search products, categories, tags, brands using laravel Scout.

PayKeeper for Shopaholic
$14.99

PayKeeper for Shopaholic

PayKeeper payment gateway integration for Shopaholic.

3 projects
# 120 in Paid of all time.
$14.99

PayKeeper for Shopaholic

PayKeeper payment gateway integration for Shopaholic.

Payeer for Shopaholic
$14.99

Payeer for Shopaholic

Payeer payment gateway integration for Shopaholic.

1 project
# 182 in Paid of all time.
$14.99

Payeer for Shopaholic

Payeer payment gateway integration for Shopaholic.

Interkassa for Shopaholic
$14.99

Interkassa for Shopaholic

Interkassa payment gateway integration for Shopaholic

0 projects
# 183 in Paid of all time.
$14.99

Interkassa for Shopaholic

Interkassa payment gateway integration for Shopaholic

Free-Kassa for Shopaholic
$14.99

Free-Kassa for Shopaholic

Free-kassa payment gateway integration for Shopaholic.

0 projects
# 184 in Paid of all time.
$14.99

Free-Kassa for Shopaholic

Free-kassa payment gateway integration for Shopaholic.

UTM Analytics for Shopaholic
Free

UTM Analytics for Shopaholic

Plugin provides UTM-analytics for Shopaholic orders

2 installations
# 624 in Free of all time.
Free

UTM Analytics for Shopaholic

Plugin provides UTM-analytics for Shopaholic orders

CloudPayments for Shopaholic
$14.99

CloudPayments for Shopaholic

Payment gateway integration for Shopaholic.

0 projects
# 187 in Paid of all time.
$14.99

CloudPayments for Shopaholic

Payment gateway integration for Shopaholic.

ApiShip for Shopaholic
$50

ApiShip for Shopaholic

Integration with ApiShip Platform

1 project
# 190 in Paid of all time.
$50

ApiShip for Shopaholic

Integration with ApiShip Platform

Subscriptions for Shopaholic
$14.99

Subscriptions for Shopaholic

Shopaholic eCommerce extension: allows customers to buy products by a subscription model

4 projects
# 56 in Paid of all time.
$14.99

Subscriptions for Shopaholic

Shopaholic eCommerce extension: allows customers to buy products by a subscription model

The following themes use this plugin
Product settings

First steps

Let's start getting acquainted with plugin and take the first steps with quick start guide:

  • Step 1: It works!
  • Step 2: Create product page.
  • Step 3: Render the catalog menu using the category tree.
  • Step 4: Create category page with render list of child categories.
  • Step 5: Create catalog page with render list of products.

The full plugin documentation is available here.

ProductList component

The component allows to work with ProductCollection class objects.

Method list

make($arElementIDList = null)

Example: render of product list

Get collection of product, apply sorting, filter by flag "active" and category ID.

{% set obCategory = CategoryPage.get() %}

{% set obProductList = ProductList.make().sort(ProductList.getSorting()).active().category(obCategory.id) %}
{% if obProductList.isNotEmpty() %}
    <div class="product-list-wrapper">
        {% for obProduct in obProductList %}
            <div data-id="{{ obProduct.id }}">
                <h1>{{ obProduct.name }}</h1>
                {% if obProduct.preview_image is not empty %}
                    <img src="{{ obProduct.preview_image.path }}" title="{{ obProduct.preview_image.title }}" alt="{{ obProduct.preview_image.description }}">
                {% endif %}
                <div>{{ obProduct.preview_text }}</div>
            </div>
        {% endfor %}
    </div>
{% endif %}

Get collection of products, apply filter by flag "active" and category ID + Pagination component.

{% set obCategory = CategoryPage.get() %}

{# Get product collection #}
{% set obProductList = ProductList.make().sort(ProductList.getSorting()).active().category(obCategory.id) %}

{# Get array with pagination buttons #}
{% set iPage = Pagination.getPageFromRequest() %}
{% set arPaginationList = Pagination.get(iPage, obProductList.count()) %}

{# Apply pagination to product collection and get array with product items #}
{% set arProductList = obProductList.page(iPage, Pagination.getCountPerPage()) %}

{% if arProductList is not empty %}

    {# Render product list #}
    <div class="product-list-wrapper">
        {% for obProduct in obProductList %}
            <div data-id="{{ obProduct.id }}">
                <h1>{{ obProduct.name }}</h1>
                {% if obProduct.preview_image is not empty %}
                    <img src="{{ obProduct.preview_image.path }}" title="{{ obProduct.preview_image.title }}" alt="{{ obProduct.preview_image.description }}">
                {% endif %}
                <div>{{ obProduct.preview_text }}</div>
            </div>
        {% endfor %}
    </div>

    {# Render pagination buttons #}
    {% if arPaginationList is not empty %}
        {% for arPagination in arPaginationList %}
            <a href="?page={{ arPagination.value }}" class="{{ arPagination.class }}">{{ arPagination.name }}</a>
        {% endfor %}
    {% endif %}
{% endif %}
getAvailableSorting()

Get array with available sorting keys (see).

getSorting()

Get active sorting key value.

onAjaxRequest()

Empty method for ajax request.

ProductPage/ProductData component

The component allows to work with ProductItem class objects.

Usage example:

[ProductPage]
slug = "{{ :slug }}"
==

{# Get product item #}
{% set obProduct = ProductPage.get() %}
<div data-id="{{ obProduct.id }}">
    <h1>{{ obProduct.name }}</h1>
    {% if obProduct.preview_image is not empty %}
        <img src="{{ obProduct.preview_image.path }}" title="{{ obProduct.preview_image.title }}" alt="{{ obProduct.preview_image.description }}">
    {% endif %}
    <span>Category: {{ obProduct.category.name }}</span>
    <span>Brand: {{ obProduct.brand.name }}</span>
    <span>Brand: {{ obProduct.brand.name }}</span>
    {% set obOffer = obProduct.offer.first() %}
    {% if obOffer.isNotEmpty()%}  
        <span>Price: {{ obOffer.price }} {{ obOffer.currency }}</span>
    {% endif %}
    <div>{{ obProduct.description|raw }}</div>
</div>

CategoryList component

The component allows to work with CategoryCollection class objects.

Method list

make($arElementIDList = null)

Example: render of category list

Get tree of categories. Example is used in render of category menu.

{% set obCategoryList = CategoryList.make().tree() %}
{% if obCategoryList.isNotEmpty() %}
    <ul class="category-menu-wrapper">
        {% for obCategory in obCategoryList if obCategory.product_count > 0 %}
            <li data-id="{{ obCategory.id }}">{{ obCategory.name }}
                {% if obCategory.children.isNotEmpty() %}
                    <ul class="category-child-menu-wrapper">
                        {% for obChildCategory in obCategory.children if obChildCategory.product_count > 0 %}
                            <li>{{ obChildCategory.name }}</li>
                        {% endfor %}
                    </ul>
                {% endif %}
            </li>
        {% endfor %}
    </ul>
{% endif %}

CategoryPage/CategoryData component

The component allows to work with CategoryItem class objects.

Usage example:

[CategoryPage]
slug = "{{ :slug }}"
==

{# Get category item #}
{% set obCategory = CategoryPage.get() %}
<div data-id="{{ obCategory.id }}">
    <h1>{{ obCategory.name }}</h1>
    {% if obCategory.preview_image is not empty %}
        <img src="{{ obCategory.preview_image.path }}" title="{{ obCategory.preview_image.title }}" alt="{{ obCategory.preview_image.description }}">
    {% endif %}
    <div>{{ obCategory.description|raw }}</div>
    {% if obCategory.children.isNotEmpty() %}
        <ul>
            {% for obChildCategory in obCategory.children %}
                <li>{{ obChildCategory.name }}</li>
            {% endfor %}
        </ul>
    {% endif %}
</div>

BrandList component

The component allows to work with BrandCollection class objects.

Method list

make($arElementIDList = null)

Example: render brand list

Get collection of brands, apply sorting + filter by flag "active"

{% set obBrandList = BrandList.make().sort().active() %}
{% if obBrandList.isNotEmpty() %}
    <div class="brand-list-wrapper">
        {% for obBrand in obBrandList %}
            <div data-id="{{ obBrand.id }}">
                <h1>{{ obBrand.name }}</h1>
                {% if obBrand.preview_image is not empty %}
                    <img src="{{ obBrand.preview_image.path }}" title="{{ obBrand.preview_image.title }}" alt="{{ obBrand.preview_image.description }}">
                {% endif %}
                <div>{{ obBrand.preview_text }}</div>
            </div>
        {% endfor %}
    </div>
{% endif %}

Get brand collection, apply sorting + filter by flag "active" + Pagination component

{# Get brand collection #}
{% set obBrandList = BrandList.make().sort().active() %}

{# Get array with pagination buttons #}
{% set iPage = Pagination.getPageFromRequest() %}
{% set arPaginationList = Pagination.get(iPage, obBrandList.count()) %}

{# Apply pagination to brand collection and get array with brand items #}
{% set arBrandList = obBrandList.page(iPage, Pagination.getCountPerPage()) %}

{% if arBrandList is not empty %}

    {# Render brand list #}
    <div class="brand-list-wrapper">
        {% for obBrand in obBrandList %}
            <div data-id="{{ obBrand.id }}">
                <h1>{{ obBrand.name }}</h1>
                {% if obBrand.preview_image is not empty %}
                    <img src="{{ obBrand.preview_image.path }}" title="{{ obBrand.preview_image.title }}" alt="{{ obBrand.preview_image.description }}">
                {% endif %}
                <div>{{ obBrand.preview_text }}</div>
            </div>
        {% endfor %}
    </div>

    {# Render pagination buttons #}
    {% if arPaginationList is not empty %}
        {% for arPagination in arPaginationList %}
            <a href="/{{ arPagination.value }}" class="{{ arPagination.class }}">{{ arPagination.name }}</a>
        {% endfor %}
    {% endif %}
{% endif %}

BrandPage/BrandData component

The component allows to work with BrandItem class objects.

Usage example:

[BrandPage]
slug = "{{ :slug }}"
==

{# Get brand item #}
{% set obBrand = BrandPage.get() %}
<div data-id="{{ obBrand.id }}">
    <h1>{{ obBrand.name }}</h1>
    {% if obBrand.preview_image is not empty %}
        <img src="{{ obBrand.preview_image.path }}" title="{{ obBrand.preview_image.title }}" alt="{{ obBrand.preview_image.description }}">
    {% endif %}
    <div>{{ obBrand.description|raw }}</div>
</div>

Breadcrumbs component

The component helps to render catalog breadcrumbs.

Method list

getByCategoryID($iCategoryID)

Example: render ob breadcrumbs for category page

The method helps to render breadcrumbs list of category page. The method returns with breadcrumbs items (field list: id, name, slug, active).

[CatalogBreadcrumbs]

[CategoryPage]
==

{% set obCategory = CategoryPage.get() %}
{% set arBreadcrumbs = CatalogBreadcrumbs.getByCategoryID(obCategory.id) %}
{% if arBreadcrumbs is not empty %}
    <ul>
        {% for arItem in arBreadcrumbs %}
            <li data-id="{{ arItem.id }}" class="{% if arItem.active %} _active {% endif %}">
                {{ arItem.name }}
            </li>
        {% endfor %}
    </ul>
{% endif %}
getByProductID($iProductID)

Example: render ob breadcrumbs for product page

The method helps to render breadcrumbs list of product page. The method returns array with breadcrumbs items (field list: id, name, slug, active). Result array has product data and category list.

[CatalogBreadcrumbs]

[ProductPage]
==

{% set obProduct = ProductPage.get() %}
{% set arBreadcrumbs = CatalogBreadcrumbs.getByProductID(obProduct.id) %}
{% if arBreadcrumbs is not empty %}
    <ul>
        {% for arItem in arBreadcrumbs %}
            <li data-id="{{ arItem.id }}" class="{% if arItem.active %} _active {% endif %}">
                {{ arItem.name }}
            </li>
        {% endfor %}
    </ul>
{% endif %}
  • Found the plugin useful on 27 Dec, 2019

    Great store with a large set of extensions and an active community.

    Everyone complains that the cost of extensions is allegedly high. But really, if you think about it...

    Buy you a standard set of gentleman for the client store.

    Next on the list:

    Properties for Shopaholic - 15$ Mighty SEO - 15$ Filter for Shopaholic - 50$ Review for Shopaholic - 10$ Yandex Kassa for Shopaholic - 15$

    Total: 105$ or 6 500 RUB

    For the development of such a store, the client will pay 1500-2000$

    Is it expensive? If you work constantly, and not as a hobby, then you will already have blanks to the templates and the development of the store does not take much time. At the same time, the client will get a good product and constant updates.

    It is not necessary to compare with OpenCart in principle. I've worked on it a lot and suffered a lot in my time. There were many problems of compatibility of plug-ins with old versions and the most stupid admin panel. The developers put another admin plugin and got the admin inside the admin.

    If you are developing stores for $ 500 for your customers, you probably should not use Shopaholic and October CMS.

    Since the blow to the pocket will be tangible. For such development it is better to use a more typical Wordpress

    In conclusion: The Shopaholic ecosystem is excellent. It is constantly evolving and getting better. I fully agree that there is bad documentation, but there is hope that it will be, since it appeared shopaholic.one

    And to be honest, I do not understand why demo fragments are not used in components. It would make life easier for everyone. Constantly dissecting a demo is still a pleasure.

  • Found the plugin useful on 4 Dec, 2019

    The author below doesn't know what he's talking about. It's awful advice!

    I worked with the Mall plugin a half a year, and I strongly recommend to avoid it. Especially if you're a beginner. After using Mall, when I started working with Shopaholic, I wondered how faster and easier the development becomes to be.

    So, Shopoholic is the best and the only choice in the marketplace at the moment.

  • author

    Replied on 5 Dec, 2019

    Hi,

    Thx for your support! We're happy you enjoy our products. Rest assured, we're working hard to make Shopaholic not only the best e-commerce solution in the October CMS community but the best solution in general.

  • Found the plugin not useful on 4 Dec, 2019

    You have to paid too much money for simple eshop solution. The complete free solution is https://octobercms.com/plugin/offline-mall

  • author

    Replied on 4 Dec, 2019

    Thank you for your opinion!

    But let’s be honest, valid, and comprehensive while making judgments. Every software, free or paid, has different other features. And objective comparison will always take into account all of them.

    Shopaholic provides a possibility to build the eStore for free. Paid plugins allow users to make it easier and faster, saving their money as a result. Moreover, the paid products help OctoberCMS to develop as 30% of every purchase goes to the marketplace as a contribution. Let us quote from the article Open Source: From Community to Commercialization:

    Economic interest creates a virtuous cycle, or flywheel. The more business innovation we have, the larger the developer community, which spurs more technological innovation, which increases the economic incentives for open source. I’ll talk at the end of the presentation about what I think is the future of open source in 3.0 and point out some of the interesting innovations that are currently happening on both the technological and business side.

    Peter Levine, Andreessen Horowitz

    We are fully confident in the quality and value of Shopaholic. And we will provide for free the full package of required modules for those who will be ready to arrange an honest and transparent comparison of it with other competitive systems. We hope someone who is ready, reads these words. Do not hesitate to write us a line, and we will negotiate the details!

    You left two fully opposite reviews on competing products at one time, where the one is flawless, and the other is completely crap. Every single thing has its own pros and cons. Ignoring that fact is quite strange and suspicious behavior.

  • Found the plugin not useful on 24 Oct, 2019

    If you plan to use this plugin for something more than you see on example themes of same vendor, bury your expectations first. Documentation is terrible, even for paid addons. For example, if you need pretty standatd breadcrumbs, documentation tells you how to do it by 30%.

    • Oh you need links in your breadcrumbs? We will not provide a working code example for that nested categories you needed, here take a dumb simple parentCategory/category example of linkless breadcumbs.
    • You need a compare of catalog items? Alright, buy this, and you'll get a server-side-only ability to add/remove/list items in compare list, no code examples, no template examples, do EVERYTHING on your own.
    • Want to know how to use our "useful" paid plugins in your frontend theme? You can download lame bootstrap theme, or buy $100 theme with one example of our filter plugin usage (not confirmed, I will not be surprised if not). Also import feature is very questionable.
    • Want to import catalog items from CSV with images? Ok, we will duplicate your images once putting them into separate attachments storage and also as many times as you have to use the same image url. What, you already have an organized image hierarchy? Well, ***k you!

    So for full bundle price you do not get a half of lame free opencart's functionality. This plugin is not the right choice to build decent eShop, at least for now (fall 2019). More than year have passed since I decide to try this plugin on one of non urgent projects and we still here. Maybe because only single person working on it, doing titanic work, so what did you expect? Hope they'll hire more people some day).

  • author

    Replied on 31 Oct, 2019

    We're sorry for your poor experience with Shopaholic products. We're a small team of October CMS enthusiasts working hard on making it the best platform for e-commerce! ?️

    Due to limited resources, the documentation isn't exhaustive some times. We know it. But there's a lot of ways to get the needed information:

    We're always ready to help when it requested. Unfortunately, we didn't receive any requests from your side.

    If you plan to use this plugin for something more than you see on example themes of same vendor, bury your expectations first. Documentation is terrible, even for paid addons. For example, if you need pretty standatd breadcrumbs, documentation tells you how to do it by 30%.

    Oh you need links in your breadcrumbs? We will not provide a working code example for that nested categories you needed, here take a dumb simple parentCategory/category example of linkless breadcumbs.

    The answer to your issue can be found here.

    You need a compare of catalog items? Alright, buy this, and you'll get a server-side-only ability to add/remove/list items in compare list, no code examples, no template examples, do EVERYTHING on your own.

    You should have paid attention to the fact that no one official Shopaholic plugin has a view code part (MVC). This is the main philosophy of the project. It doesn't put barriers in front of the developer in the implementation of the custom functionality on the front-end side of the project. Of course, this requires a higher qualification of the developer. But we work to reduce the entry threshold by providing NPM packages (shopaholic-cart, shopaholic-filter-panel, shopaholic-wish-list, etc.) for the products, extending the functionality of the free Bootstrap theme (as well as adding new themes including free) and on improving documentation, of course.

    Want to know how to use our "useful" paid plugins in your frontend theme? You can download lame bootstrap theme, or buy $100 theme with one example of our filter plugin usage (not confirmed, I will not be surprised if not). Also import feature is very questionable.

    You can try out all of the plugins on the demo site (manager/manager) for free. We plan to switch the theme on it from UI Kit to Bootstrap one with the support of all of the plugins on the front-end. As for the import feature, I hope its description in the new documentation will be helpful for you.

    Want to import catalog items from CSV with images? Ok, we will duplicate your images once putting them into separate attachments storage and also as many times as you have to use the same image url. What, you already have an organized image hierarchy? Well, ***k you!

    Shopaholic provides a reliable and secure way to store product images. The answer to your question is here.

    I mentioned the new documentation we're working on at the moment. It's open-sourced so we're open to merge any PR's with the additions and improvement. This is how open-source works!

    As for technical stuff, we are confidently and responsible for the quality of architecture and any line of the code. While comparing the cost of Shopaholic with other major e-commerce platforms you should compare the cost of extending the provided functionality and the cost of the project ownership in the future.

    Summing up, communication is the best way to solve issues! Please, find us in the public places I mentioned above and ask for help. We'll be happy to change your experience with Shopaholic! ?️

  • Found the plugin useful on 23 Jul, 2019

    Great plugin. Especially good ecosystem of plug-ins, which has evolved and continues to evolve. Just setup what you need and save days and weeks of development. Faced with the need to refine part of the catalog for our needs - quickly received feedback and support from the developers. Well and the code, separately pleasure to read comments and the strict logic of classes. I wish my code was just as awesome)

  • author

    Replied on 23 Jul, 2019

    Thank you for using Shopaholic!

    You're right, Shopaholic is modular by its nature. We've worked hard to make it easy and possible at all. So feel free to develop your plugins for the ecosystem. We're always open to new ideas and ready to help with it!

  • Found the plugin useful on 26 Jun, 2019

    One of the greatest plugins here. The gorgeous code quality with a powerful architecture, the real "Beast" in one word. Highly recommended for use in any e-commerce projects.

  • author

    Replied on 23 Jul, 2019

    Thank you for using Shopaholic and for such high praise!

  • Found the plugin useful on 18 Jan, 2019

    Great project with top code quality. It's a good point to start a quality commercial solution.

    If Shopaholic did not exist, it would be worth creating! :)

  • author

    Replied on 18 Jan, 2019

    Thank you for your feedback!

    The main reason why we've started to develop Shopaholic was exactly that it didn't exist a couple of years ago! ;)

  • Found the plugin useful on 27 Aug, 2018

    Shopaholic is a great shopping suite. The idea to has free basic plugins is great to starting a catalog or small shop site. And made it more powerful with the paid plugins. I use it on a couple of sites and I glad to work with this suite.

    Is great, good job !!!

  • author

    Replied on 18 Jan, 2019

    Thank you for your review, Alvaro!

    We're glad to hear you enjoyed the idea of our ecosystem!

    Have a nice experience with Shopaholic!

  • Found the plugin useful on 24 Mar, 2018

    Is SEO planned? Or how to implement?

  • author

    Replied on 11 May, 2018

    Hi!

    Thank you for using Shopaholic! We're happy you enjoyed it!

    We have published a Mighty SEO plugin for managing SEO fields. You can also use other solutions (For example SEO Manager plugin).

  • Found the plugin useful on 23 Feb, 2018

    Database structure looks clean, the code looks clean. However, a Shopaholic them is a Must Have! Fortunately, we found your basic theme on github and installed it, but we are waiting for a mature theme. Now we are testing your plugins. Overall, is a great job!

  • author

    Replied on 6 Mar, 2018

    Hi!

    Thank you for using Shopaholic! We're happy you enjoyed it!

    As you mentioned there are no available themes in October Marketplace at the moment. Our main focus in the next few month is growing of Shopaholic functionality. After that, we plan to publish a lot of themes from simple basis theme to ready for use fully customizable theme.

    Besides, we help other developers to develop their own themes for Shopaholic ecosystem. Stay tuned!

  • Found the plugin useful on 22 Jan, 2018

    Hi, the project looks promising, I read the code, it looks clean. . Do you have the shop theme / pages so people can quickly try to use shopaholic? The backend side are nice, the examples are working, but it lacks the frontend pages to at least we can place order, pay and watch order status. . 22/1/18.

  • author

    Replied on 22 Jan, 2018

    Hi!

    Thank you for using Shopaholic! There is a long list of extensions for Shopaholic on our roadmap and we're focusing on them at the moment. As well we plan to publish a demo site with a large number of examples until the spring.

    Besides, we're in a collaboration with one of active October community members, who works on the theme with Shopaholic support.

    Stay tuned!

  • Found the plugin useful on 8 Dec, 2017

    I have insert the code for displaying product list but it doesn't display my products is there any configuration I need to setup? I also set to active all my products.

  • author

    Replied on 10 Dec, 2017

    Hi!

    Thank you for using Shopaholic! We've answered your question at your Github issue.

    Have a nice experience with Shopaholic! ;)

1.24.2

Added annotations for Subscriptions for Shopaholic plugin.

Jan 08, 2020

1.24.1

Fixed support of wildcard params in CategoryPage component. Requires Toolbox plugin version 1.26.1 and later

Dec 24, 2019

1.24.0

Added support of wildcard params to CategoryPage component. Requires Toolbox plugin version 1.26.0 and later

Dec 19, 2019

1.23.1

Added step attribute to offer price field in backend view

Oct 21, 2019

1.23.0

Added ability to show catalog with active price type. Added annotations for integration with Digital product for Shopaholic plugin.

Oct 21, 2019

1.22.5

Fixed bug with deactivating items in import from XML files.

Jun 28, 2019

1.22.4

Removed deleted offers from sorting by price.

Jun 21, 2019

1.22.3

Fixed attaching of children categories to parent category in script of import from XML.

May 31, 2019

1.22.2

Added "deactivate" fields to config of XmlImportSettings model.

May 29, 2019

1.22.1

Fixed command shopaholic:import_from_xml.

May 29, 2019

1.22.0

Added customizable import from xml file. Thanks to Rolands Zeltins. His donation made this feature available for everyone.

May 29, 2019

1.21.2

Fix error with saving offer without prices.

Apr 01, 2019

1.21.1

Fixed labels for tax settings.

Feb 27, 2019

1.21.0

Added multicurrency. Added taxes. Added price types. Added shopaholic:check.table.integrity artisan command.

Feb 27, 2019

1.20.0

Added Slovak language. Thanks for contribution vosco88.

Feb 27, 2019

1.19.1

Fixed permissions for promo block menu item. Thanks for contribution Andreas Kosmowicz.

Nov 21, 2018

1.19.0

Added translatable slug in Product, Brand, Category, PromoBlock models.

Nov 18, 2018

1.18.0

Added German language. Thanks for contribution Gerald.

Nov 15, 2018

1.17.0

Added Japanese language. Thanks for contribution pikanji.

Nov 07, 2018

1.16.1

Added annotations of filterByDiscount(), filterByQuantity() methods to OfferCollection class.

Nov 05, 2018

1.16.0

Added block with description about import of product/offer properties from CSV file.

Nov 02, 2018

1.15.0

Added import product, offers, categories, brands from CSV file in backend. Requires Toolbox plugin version 1.18.0 and later

Nov 01, 2018

1.14.1

Remove vendor folder from plugin.

Oct 28, 2018

1.14.0

Added "additional_category" field to ProductItem class.

Oct 21, 2018

1.13.1

Added annotations for integration with Coupons for Shopaholic, Discounts for Shopaholic, Campaigns for Shopaholic plugins.

Oct 16, 2018

1.13.0

Added PromoBlock model. Promo blocks are sections of content that you can place throughout your eCommerce website and advertise products, offers, discounts, campaigns, and other activity. Added PromoBlockData, PromoBlockPage, PromoBlockList components. Added PromoBlockItem, PromoBlockCollection classes.

Oct 15, 2018

1.12.0

Added type returned by methods in AbstractStore * classes

Aug 07, 2018

1.11.3

Fix error in ProductCollection class, if product list by category is empty.

Jul 30, 2018

1.11.2

Fix work with *Store classes in *Handler classes.

Jul 11, 2018

1.11.1

Adding "field.additional_category" value to lang files. Fixed displaying "additional categories" field only for update/preview forms.

Jun 25, 2018

1.11.0

Adding getPageUrl() method to ProductItem, BrandItem classes.

Jun 24, 2018

1.10.0

Adding relation between Product model and additional categories. Adding ability to get list of products by category ID list, by the parent category ID.

Jun 22, 2018

1.9.0

Add PriceHelperTrait, TraitCached in models. Add active() method to CategoryCollection class. Move PriceHelper class from Shopaholic plugin to Toolbox plugin. Add new store classes. Refactoring *Store, *Item, *Collection classes. Requires Toolbox plugin version 1.10.0 and later.

Jun 21, 2018

1.8.0

Add integration with "Viewed products for Shopaholic" plugin

Mar 22, 2018

1.7.0

Added translation into French. Thanks for contribution philmarc.

Mar 16, 2018

1.6.0

Add integration with "Compare for Shopaholic"

Mar 11, 2018

1.5.0

Add integration with Search for Shopaholic / Sphinx for Shopaholic plugins

Feb 21, 2018

1.4.1

Update annotations for "Reviews for Shopaholic" plugin. Fix $dates array in Product model. Thanks for contribution Alexander Shapoval.

Feb 14, 2018

1.4.0

Replace code of product sorting by popularity and rating from Shopaholic to extension plugins. Add event "shopaholic.sorting.get.list" for custom sorting of products. Add integration with "Related products for Shopaholic" and "Accessories for Shopaholic" plugins

Feb 04, 2018

1.3.1

Fix: processing of the "nesting" flag for the menu type "catalog"

Jan 15, 2018

1.3.0

!!! Add menu types for integration with the StaticPage plugin. Add getPageUrl() method to the CategoryItem class. Requires Toolbox plugin version 1.4.0 and later. Thanks for contribution Alvaro Cánepa.

Jan 14, 2018

1.2.3

!!! Adding additional cache cleaning for the sorted list of brands, after the creation of a new brand. Requires Toolbox plugin version 1.3.0 and later.

Jan 08, 2018

1.2.2

Add additional cache cleaning after category reordering

Dec 15, 2017

1.2.1

Remove php short tags from offers/update.htm

Dec 15, 2017

1.2.0

preview_image, images fields in item classes returns \System\Models\File class objects. Add integration with "Reviews for Shopaholic" plugin

Dec 13, 2017

1.1.0

Add integration with "Popularity for Shopaholic" and "Tags for Shopaholic" plugins

Dec 08, 2017

1.0.0

Initialize plugin.

Dec 06, 2017