User Manual/Administration Interface/Plugin list

From Aimeos documentation

User Manual
Other languages:
English 100% • ‎русский 68%


Plug-ins explained

A plug-in in the Aimeos e-commerce framework is a class that registers itself at the basket for certain events. The events can be e.g. when a product is added or deleted, the delivery or payment option is set or the basket is going to be ordered. In each case the plug-ins that have been registered for the event are notified and are then able to react on this event. The plug-ins can for example change the shipping costs, add sample products or check the minimum order value. Plug-ins are a very flexible way to enforce any rules that can be implemented in an algorithm.

List of configured plug-ins

List of configured plug-ins

The "Plugin" list view provides a paged list of all configured plug-ins in the system. The most important columns are shown by default but the list of columns can be adapted via the list header. Plug-in configurations can be added, edited or deleted. A click on the name opens the detail view for editing the plug-in configuration.

Currently, the following plug-ins are configured by default

  • ServicesUpdate
  • Autofill
  • AddressAvailable
  • ServicesAvailable
  • ProductGone
  • ProductPrice
  • Coupon
  • ProductStock


Plugin details

Detail view for plug-ins

All fields in the plug-in detail view are required and have to be filled before the record can be saved:

Status (required) 
Activates or deactivates the plug-in. Deactivated plug-ins will not be executed and don't modify the basket of customers
Type (required) 
The plug-in type which is currently always "Order"
Label (required) 
Arbitrary string that describes the plug-in and is also shown in the list view to find the plug-in easily
Provider (required) 
Name of the plug-in provider class and the decorators wrapped around them separated by commas. If you click into the field, a list of available plug-in providers is shown where you can select from. The "+" sign on the right shows a list of available decorators that can be added to the provider class. Caution: If you add a decorator without selecting a provider first, you will get an error in the frontend!
Position (required) 
The position of the plug-in determines the order in which they are executed. Some plug-ins have to be executed before others to produce correct results while some need to be executed at the end. The plug-ins added by default are already in the right order.

The option/value list avialable for the configuration of the plug-in contains pairs of settings that are only available for that plug-in. The available settings are automatically added as soon as you select a provider (and decorator). Settings can be of different types like strings, yes/no values or lists of values and for each setting the type defined in the provider class will be shown. You can also add more custom options if requried and these will show text fields where you can enter arbitrary values.

Built-in plug-ins

AddressAvailable

Checks if billing and delivery addresses are available. You can enforce or prevent the usage of each address type separately. This is checked before the customer wants to place the order.

payment (optional) 
A value of "1" enforces the billing address, "0" prevents a billing address. If you don't set the configuration option, a customer can enter a billing address but it's not required
delivery (optional) 
A value of "1" enforces the delivery address, "0" prevents a delivery address. If you don't set the configuration option, a customer can enter a delivery address but it's not required

Autofill

Adds delivery and payment options automatically as well as addresses of logged in users when they add a product to the basket.

autofill.useorder (optional, default=1) 
Uses the last order of the customer to add the addresses and the payment/delivery options from that order. A value of "1" or no configuration enables this behaviour, "0" disables it.
autofill.orderaddress (optional, default=1) 
Adds the entered addresses from the last order of the customer. A value of "1" or no configuration enables this behaviour, "0" disables it.
autofill.orderservice (optional, default=1) 
Adds the chosen delivery and payment option from the last order of the customer. A value of "1" or no configuration enables this behaviour, "0" disables it.
autofill.delivery (optional, default=0) 
Adds the first option from the list of delivery options to the basket. A value of "1" enables this behaviour, "0" or no configuration disables it. Make sure your delivery options use unique positions to get reproducible results!
autofill.payment (optional, default=0) 
Adds the first option from the list of payment options to the basket. A value of "1" enables this behaviour, "0" or no configuration disables it. Make sure your payment options use unique positions to get reproducible results!

BasketLimits

Checks if the basket contains a minimum value and/or a minimum amount of products. This rule is applied before the customer can enter the checkout process.

min-products (optional) 
Minimum quantity of products that must be in the basket. The limit can be reached by different products or by only one product that is ordered with the required quantity. A positive integer value starting from 1
max-products (optional) 
Maximum quantity of products that can be in the basket. The limit can be reached by different products or by only one product that is ordered with the required quantity. A positive integer value starting from 1
min-value (optional) 
The minimum value before the basket can be ordered. The format is a JSON encoded map of the currency ID and the value in x.xx format, e.g. {"EUR":"1.00","USD":"1.00"}
max-value (optional) 
The maximum value until the basket can be ordered. The format is a JSON encoded map of the currency ID and the value in x.xx format, e.g. {"EUR":"1.00","USD":"1.00"}

Coupon

Activating this plug-in ensures that actions of coupon providers are not only executed when customers enter their code. Instead, the coupon provider will update the basket every time the basket content changes. This also means that coupons will be removed again if their requirements aren't met any more. Please have a look at the coupon decorators if you want to define one or more requirements for a coupon.

ProductGone

This plug-in checks if the products the customer would like to order are still available (or have been removed from the list of sold articles in the meantime). If not, the customer is asked to remove them from the basket before he can finish the order. This plug-in is applied in the basket and at the end of the checkout process. It doesn't have any options.

ProductLimit

Product related limits that can be ordered. This rule is applied when a product is added to the basket.

single-number-max (optional) 
The maximum quantity that is allowed per product. A positive integer number starting from 1
total-number-max (optional) 
The maximum allowed quantity of all products in the basket. A positive integer number starting from 1
single-value-max (optional) 
The maximum order value per product. A positive price value whose format must be x.xx
total-value-max (optional) 
The maximum order value of all products in the basket. A positive price value whose format must be x.xx

ProductPrice

The plug-in checks if the price of the products the customer would like to order have changed. If this is the case, the customer is informed about the price update in his basket. This plug-in is applied in the basket and at the end of the checkout process. It doesn't have any options.

ProductStock

It checks if the products the customer would like to order are still in stock. If not, the customer is asked to remove them from the basket before he can finish the order. This plug-in is applied in the basket and at the end of the checkout process. It doesn't have any options.

ServicesAvailable

Checks if a delivery or payment service was chosen by the customer. You can enforce or prevent the usage of each service type separately. This is checked before the customer wants to place the order.

payment (optional) 
A value of "1" enforces a payment service, "0" prevents adding a payment service. If you don't set the configuration option, a customer can select a payment service but it's not required
delivery (optional) 
A value of "1" enforces a delivery service, "0" prevents adding a delivery service. If you don't set the configuration option, a customer can select a delivery service but it's not required

ServicesUpdate

Updates the price of delivery and payment options in the basket if the content of the basket changes. This plugin doesn't require any configuration.

Shipping

Sets the shipping costs to 0.00 if the basket value (including granted rebates) is equal or greater than the configured value. The shipping costs are added to the rebate value in this case.

threshold (required) 
The minimum value to grant the free shipping for. The format is a JSON encoded map of the currency ID and the value in x.xx format, e.g. {"EUR":"1.00","USD":"1.50"}