Download the PHP package spryker/product-bundle without Composer

On this page you can find all versions of the php package spryker/product-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package product-bundle

ProductBundle Module

Latest Stable Version Minimum PHP Version

Product bundles are two or more existing products combined into a new product for store display and sales purposes. Typically bundles consist of concrete products, because all items in the bundle need to be potential order items (i.e. have stock). The new (bundled) product does not physically exist in the bundled state. A bundle, when bought will still be handled as separate items in the order management system. ProductBundle provides all these product bundle features for combining multiple concrete products to a single one, and selling it.

Installation

The following information describes how to install the newly released ´Product´ module (01/2017). These instructions are only relevant if you need to add this module to an already installed version of the Framework. If you have not yet installed the Spryker Framework, ignore these instructions as include this module in all versions released after January 2017.

Make sure you updated modules to:

Calculation: >=2.2.0, ProductOption: >=3.1.0, SalesAggregator: >=3.1.0, Tax: >=3.1.0 , Cart: >= 2.4.0. Those all minor releases are BC.

Plugin configuration

Plugin configuration is the process of incorporating the module into the project by registering the bundle plugins.

To Register the bundle's plugins:

  1. In \Pyz\Zed\Calculation\CalculationDependencyProvider::getCalculatorStack, add CalculateBundlePricePlugin and position it after the ExpenseTaxWithDiscountsCalculatorPlugin or before GrandTotalWithDiscountsCalculatorPlugin.

  2. In \Pyz\Zed\Cart\CartDependencyProvider::getCartPreCheckPlugins, replace the CheckAvailabilityPlugin with the CartBundleAvailabilityPreCheckPlugin.

  3. In \Pyz\Zed\Cart\CartDependencyProvider::getExpanderPlugins, add CartItemWithBundleGroupKeyExpanderPlugin and position it after CartItemProductOptionPlugin or CartItemPricePlugin if these options are not used.

  4. In \Pyz\Zed\Cart\CartDependencyProvider::getPostSavePlugins, add CartPostSaveUpdateBundlesPluginas the last line.

  5. In \Pyz\Zed\Cart\CartDependencyProvider::getExpanderPlugins, add CartItemWithBundleGroupKeyExpanderPlugin as the last line.

  6. In \Pyz\Zed\Checkout\CheckoutDependencyProvider::getCheckoutPreConditions, add ProductBundleAvailabilityCheckoutPreConditionPlugin.

  7. In \Pyz\Zed\Oms\OmsDependencyProvider::getReservationHandlerPlugins, add ProductBundleAvailabilityHandlerPlugin.

  8. In \Pyz\Zed\Product\ProductDependencyProvider::getProductConcreteAfterUpdatePlugins, add ProductBundleProductConcreteAfterCreatePlugin.

  9. In \Pyz\Zed\Product\ProductDependencyProvider::getProductConcreteAfterUpdatePlugins, add ProductBundleProductConcreteAfterUpdatePlugin.

  10. In \Pyz\Zed\Product\ProductDependencyProvider::getProductConcreteReadPlugins, add ProductBundleProductConcreteReadPlugin.

  11. In \Spryker\Zed\ProductBundle\Communication\Plugin\Sales\ProductBundleOrderSaverPlugin::saveOrder, add ProductBundleOrderSaverPlugin.

  12. In \Spryker\Zed\ProductBundle\Communication\Plugin\SalesAggregator\ProductBundlePriceAggregatorPlugin::aggregate, add ProductBundlePriceAggregatorPlugin.

  13. In \Pyz\Zed\Stock\StockDependencyProvider::getStockUpdateHandlerPlugins, add ProductBundleAvailabilityHandlerPlugin.

Plugin descriptions

Database migrations

Database migration is the process of adjusting the DB settings to incorporate the new plugin's activity.

To configure the database migration:

  1. Create a sequence called spy_product_bundle_pk_seq:

  2. Drop old tables/fields.

DROP TABLE IF EXISTS "spy_product_to_bundle" CASCADE;

Yves/Project changes

The following information describes the modifications that need to be done to Yves. You can find the Product module demo implementation and all code for Yves in the current Spryker demoshop.

Cart

The way the cart stores the quantity of items has changed.

The number of items in the cart is now returned by $this->cartClient->getItemCount().

To implement the change to the cart:

  1. In \Pyz\Yves\Cart\Plugin\Provider\CartServiceProvider:register, change:

  2. Cart operations must be updated to cover product bundle logic as follows: instead of CartOperationHandler use \Pyz\Yves\Cart\Handler\ProductBundleCartOperationHandler (you can take this from the demoshop).

  3. Twig changes:

    • src/Pyz/Yves/Cart/Theme/default/cart/parts/cart-item.twig and src/Pyz/Yves/Cart/Theme/default/cart/index.twig - now handle product bundles.
    • Project has received a new module called ProductBundle in which the bundle grouper is currently stored. This groups items for presentation in \Spryker\Yves\ProductBundle\Grouper\ProductBundleGrouper

As result, views where items are displayed have also to be changed in \Pyz\Yves\Cart\Controller\CartController::indexAction:

Checkout

The checkout summary step has changed and needs adjustment to the cart item listing as follows:

In \Pyz\Yves\Checkout\Process\Steps\SummaryStep, inject the grouper and cart client into the SummaryStep, and update getTemplateVariables method.

srs/Pyz/Yves/Checkout/Theme/default/checkout/partials/summary-item.twig src/Pyz/Yves/Checkout/Theme/default/checkout/summary.twig have new item rendering structures, take samples from the demoshop.

Customer

The customer controller now uses the product bundle grouper.

Change the following In: \Pyz\Yves\Customer\Controller\OrderController::getOrderDetailsResponseData do:

Take the new implementation for listing order items, including src/Pyz/Yves/Customer/Theme/default/order/partials/order-items.twig.

Documentation

Spryker Documentation


All versions of product-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
spryker/availability Version ^9.8.0
spryker/calculation-extension Version ^1.1.0
spryker/cart-extension Version ^1.0.0 || ^2.0.0 || ^4.0.0
spryker/cart-reorder-extension Version ^1.2.0
spryker/decimal-object Version ^1.0.0
spryker/kernel Version ^3.30.0
spryker/locale Version ^3.0.0 || ^4.0.0
spryker/messenger Version ^3.0.0
spryker/oms-extension Version ^1.2.0
spryker/persistent-cart-extension Version ^1.0.0
spryker/price Version ^5.0.0
spryker/price-product Version ^1.0.0 || ^2.0.0 || ^4.0.0
spryker/product Version ^5.0.0 || ^6.0.0
spryker/product-extension Version ^1.3.0
spryker/product-image Version ^3.3.0
spryker/propel-orm Version ^1.16.0
spryker/quote-extension Version ^1.0.0
spryker/sales Version ^6.0.0 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0
spryker/sales-extension Version ^1.6.0
spryker/sales-return-gui-extension Version ^1.0.0
spryker/shopping-list-extension Version ^1.0.0
spryker/stock Version ^8.0.0
spryker/store Version ^1.19.0
spryker/symfony Version ^3.0.0
spryker/transfer Version ^3.27.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package spryker/product-bundle contains the following files

Loading the files please wait ....