The most important changes in the Aimeos 2019.07 release are:
- Responsive images
- Responsive e-mails with MJML
- Multiple tax rates per price
- Customizable XML order export
- Address management in user profile
Finally, Aimeos contains support for responsive images of several sizes using the “srcset” attribute supported by the <img> tag in HTML5. By default, the Aimeos media controller creates three different preview images with 240px, 720px and 2160px width for each uploaded or imported and resized image. The original file is left unscaled if not configured otherwise and is used as source if images need to be rescaled to different sizes. In the frontend, those images are used in the list and details views like this:
<img src="/path/to/preview1" srcset="/path/to/preview1 240w, /path/to/preview2 720w, /path/to/preview3 2160w" />
The smallest preview is always used as fallback if the browser doesn’t support image srcsets (like IE 11). You should configure different images sizes depending on your frontend layout and the images widths that are required using the controller/common/media/standard/previews setting. Aimeos also supports cropping images exactly to the configured size automatically when you add the ‘fit’=>true setting for each preview image configuration.
Responsive e-mails with MJML
E-mails in Aimeos have been responsive since the beginning but e-mail clients displayed them very differently due to various built-in limitations in the clients. Now, we use the MJML framework for responsive e-mails that generates HTML code from a custom markup language that looks very similar in all major e-mail clients. The new order confirmation e-mail is now displayed like this in the clients (click for full size):
If you would like to know more about responsive e-mails in Aimeos and how to adapt them to your own project, please have a look into our Aimeos MJML article.
Multiple tax rates
For countries where federal and local taxes apply to product prices, Aimeos now supports multiple tax rates per price item. Those tax rates and their calculated tax values will be listed separately in the basket, checkout and the e-mails:
Each tax rate contains of a code and the tax rate value stored within each price item and the custom tax codes can be translated for the frontend.
Customizable XML order export
All who need exports of Aimeos orders including all details in XML format can use the new Aimeos Xml delivery service provider. It generates one local file at the configured location when the order/service/delivery job controller is executed. All orders created since the last run are then part of each file. A stripped example of the XML is:
<orders> <orderitem> <invoice>...</invoice> <base>...</base> <address> <addressitem>...</addressitem> </address> <product> <productitem>...</productitem> </product> <service> <serviceitem>...</serviceitem> </service> <coupon> <couponitem>...</couponitem> </coupon> </orderitem> </orders>
The provider uses two templates to generate the XML files so you are able to create a custom XML file by simply overwriting these template files.
User address management
Up to now, users have been able to change their addresses only during the checkout process. Their changes are stored automatically and this is still the prefered way because it’s most user friendly. As alternative, the Aimeos user page can contain the account/profile component which offers managing billing and delivery addresses too:
The new release also contains a lot of minor improvements and fixes you can find in the commit history of the repositories. Updated packages are available for TYPO3, Laravel, Symfony, SlimPHP and Flow.