GithubHelp home page GithubHelp logo

coreshop / coreshop Goto Github PK

View Code? Open in Web Editor NEW
267.0 23.0 154.0 87.9 MB

CoreShop - Pimcore eCommerce

Home Page: http://www.coreshop.org

License: Other

CSS 6.78% PHP 68.43% JavaScript 15.76% Shell 0.18% Gherkin 6.19% Twig 2.64% Dockerfile 0.01%
ecommerce ecommerce-platform pimcore pimcore-ecommerce shop commerce e-commerce commerce-engine pimcore-plugin coreshop

coreshop's Introduction

CoreShop - Pimcore enhanced eCommerce

Static Tests (Lint, Stan) Behat UI Behat Software License Latest Pre-Release

CoreShop

CoreShop harnesses Pimcore's advanced features for unmatched efficiency and customization in your online store. Dive into a seamless blend of cutting-edge technology and user-friendly interfaces, crafting an eCommerce experience that transcends ordinary transactions.

Further Information

Requirements

  • Pimcore ^11.1

Installation

Read our Documentation for the Installation Guide here

Demo

Discover the full potential of CoreShop through our interactive demos. Read more about this here

Copyright and license

Copyright: CoreShop GmbH For licensing details please visit LICENSE.md

coreshop's People

Contributors

aarongerig avatar albertmueller avatar alexloetscher95 avatar babovict avatar bernhardhill avatar blackbitdevs avatar breakone avatar cruiser13 avatar cs-silentbob avatar davidhoeck avatar dependabot[bot] avatar dkarlovi avatar dpfaffenbauer avatar dturopoli avatar hethehe avatar ivanjavorovic avatar jdreesen avatar khusseini avatar ktallafus avatar lukadschaak avatar myrdd avatar pascalheidmann avatar philip-neusta avatar ramundomario avatar silberma avatar solverat avatar tanaseteofil avatar triongroup avatar yariksheptykin avatar ychanan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coreshop's Issues

clean up core js file

the shop.js should be cleaned up and should only provides the core features with custom events triggering.

all default template stuff (like form validation etc) should be inside a template.js, so the user can decide to use it or not.

for an example:

  • put shop.js into a class
  • only add request events
  • trigger custom events within nice namespaces
initEvents : function() {

      $('.btn-cart').on('click', this.addToCart );

},

addToCart : function( ev ) {

        $.ajax({
            url : '/de/cart/add',
            data : {product : $(this).data('product-id')},
            dataType: 'json',
            success : function(result,status) {
                if( status == 'success' )

                  if(result.success)  {

                    this.updateCart(result.cart);
                    $( document ).trigger( 'coreShop.cart.added.success', [ result ] );

                   } else {

                    $( document ).trigger( 'coreShop.cart.added.error', [ result ] );

                    }

            }

        });

}

so user can use all events in a custom environment like so:

$( document ).on( 'coreShop.cart.added', function( event, result ) {

       console.log( result ); // "result from response"

});

Shipping Settings

Settings:

  • Free Shipping starts at โ‚ฌ or kg
  • Default Carrier
    • Best Price, Best Grade or Specific Carrier
    • Sort By Price or Grade

Fatal Error when saving a new carrier

While creating a new carrier, pimcore will throw an error:

Fatal error: Call to a member function getRanges() on a non-object in /plugins/CoreShop/controllers/Admin/CarrierController.php on line 134

Cart Bug

Somehow, a large amount of carts is being created. Please check how to fix that.

Reports

  • Available Quantites
  • Best Categories
  • Best Customer
  • Best-Selling Product
  • Carrier Distribution
  • Payment Distribution
  • Catalog Statistics (Products Available, Average Price, Products Bought, ...)
  • Customer accounts (Chart of registration)
  • Registered Customer info (Gender, Countries, Currencies, Age, Language)
  • Sales and Orders (Orders, Products, Amount)

Orders-View

Add a Custom-Made-View to search and mange orders more easily.

Pimcore 4: GeoIP is deprecated

https://github.com/dpfaffenbauer/pimcore-coreshop/blob/54803c73ffb59ba1679d547a211f015cdda4e19f/lib/CoreShop/Tool.php#L162

in pimcore 4, geoip is deprecated. use geoip2 instead:

//@fixme: install GeoLite2-Country.mmdb in install process.

if(file_exists(CORESHOP_CONFIGURATION_PATH . "/GeoLite2-Country.mmdb")) {

    $reader = new Reader(CORESHOP_CONFIGURATION_PATH . "/GeoLite2-Country.mmdb");

    $country = null;

    try {

        $country = $reader->country(\Pimcore\Tool::getClientIp());

    } catch(\Exception $ex) {

    }

    $country = Country::getByIsoCode($country);
}

Monitoring

Show some information about useless Data (eg. Category or Product)

  • Show List of categories without products
  • Show list with disabled products
  • show list of products without quantity and DisableOutOfStock

Messaging

Allow Customers to Create Messages.

Features:
- Allow Admin to respond to messages
- Conversation Overview.
- Connect Message to Order

base country / location

allow user to set a base country in settings.

  • use it for the default fallback in getCountry();
  • add a hook in getCountry(); when no country is initial defined ( if (!$country instanceof Country)), so a website could override the user country, based on his own geo2ip service or country concept.

sql install query type missing in zoneId

when installing coreshop, pimcore will throw an install error:

change

DROP TABLE IF EXISTS `coreshop_countries`;
CREATE TABLE `coreshop_countries` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `isoCode` varchar(2) NULL,
  `active` tinyint(1) DEFAULT 0,
  `currencyId` int,
  `zoneId`,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

to

DROP TABLE IF EXISTS `coreshop_countries`;
CREATE TABLE `coreshop_countries` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `isoCode` varchar(2) NULL,
  `active` tinyint(1) DEFAULT 0,
  `currencyId` int,
  `zoneId` int,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Admin Order

Allow Admin to Create orders for existing Order/Cart or for Products.

Features:

  • Select Carrier
  • Select Payment Provider
  • Select PriceRule
  • Select Currency
  • Select Language
  • Select Address
  • Select OrderState

Shipping

Finish Module to create Carriers with different Price Calculations

specific price improvements

the specific price per product is a great thing. maybe we can add some improvments:

add specific price tab to edit window next to the "price" tab

bildschirmfoto 2016-01-30 um 11 14 21

#### remove old "specific price" in "price" tab

bildschirmfoto 2016-01-30 um 11 11 36

#### add zones to conditions

let user add zones, which will check the containing countries
bildschirmfoto 2016-01-30 um 11 12 07

add price to action

let user add a price, which will override the default price
bildschirmfoto 2016-01-30 um 11 11 54

Guest Customer

Allow Guests to make orders.

Features:
Allow Guest to create Account.
Allow Admin to create Account from Guest User

Stock Management

Add some basic stuff to keep track of in- and outgoing warehouse movements and change the available quantity of a product.

Invalidate Cache on references

The Problem is that all models in CoreShop are being cached. But the problem is: when the currency gets changed, the Currency in Country is still the old value because of the Countries cached item.

Install-Error with PDO Adapter

https://github.com/dpfaffenbauer/pimcore-coreshop/blob/87afdae70c6fc42dd163f9a287042df21c759064/lib/CoreShop/Plugin/Install.php#L39

While installing, pimcore throws an error when mysql adapter is not preselected. We need to do fetch the adapter dynamically, like so:

$db = \Pimcore\Resource::get();

if($db->getResource() instanceof \Zend_Db_Adapter_Mysqli) {

   return $mysqli->multi_query($sql);

} else if ($db->getResource() instanceof \Zend_Db_Adapter_Pdo_Mysql) {

   return $db->getConnection()->exec($sql);

}

Mulitshop

Allow use of Pimcore Sites to make multiple Shops, with different Data, within one Pimcore instance

Catalogmode

Implement a Catalog Mode where no cart is available.

Updatability

Create some sort of behaviour for plugin updates and installing CoreShop Plugins.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.