Release date : January, 20 2023
List of all the files changed between the 4.7.0 and the 4.7.1
- We improved the compatibility between the translation system, the canonical URLs and the language switcher of Joomla by clearing the translation of the current language before loading the translations of another language. That way, even if a translation is available in one language and not in another, it will still work fine.
- When running a mass action with an export action, if some of the elements wouldn't have all the information available, it could generate warning messages. For example, if you were exporting orders and exporting columns from the Joomla user account, and some of the orders had the user account of the customer deleted from the website, it would generate a warning for these users columns during the export.
- The "format" setting of custom fields of the type "text" didn't work properly when used for custom fields of the tables "address", "item" or "order".
- The restrictions on products / categories for custom contact fields didn't work properly when the custom fields were required.
- When the "force redirect" setting was activated in the Filters module, the current category would be ignored to display the filters on the page even when the page was a product listing where it should be taken into account.
- On a frontend products listing, when selecting "none" for brand filter it could, in some cases, not display any products instead of displaying the products regardless of the brand.
- The price with options might not refresh when an option would be selected with radios in some cases following recent improvements to support multiple prices in options based on the quantity purchased.
- If someone wrote some text for the stripes color, it could generate deprecated messages. We now properly handle that as transparent.
- We've added a fix for PHP 8 during the export action of mass actions.
- The support of the login social button for Joomla 4 would previously create an error on PHP 5.
- We've fixed a warning on PHP 8 when accessing a products listing page without going through a menu item (so without the menu item alias in the URL).
- When using HTML tags in the product name translations and then editing the translations of the products via the translation popup of the product edit form, the text wouldn't be escaped properly leading to the loss of the translation text with the HTML in it.
- In some special conditions, using some payment plugins and HikaMarket, it would be possible to generate an error during the confirmation of the order on PHP 8.
- The notification boxes could sometimes appear below elements of the interface.
- We fixed a warning which could happen when editing a variant while having custom fields of the table "product" and of the type "custom text".
- When coupons with the "quota per user" setting set were used together with the Multi Coupon plugin, it would generate an error in the checkout.
- The new tax mechanism when editing orders in the 4.7.0 didn't work properly when no taxes was applied on the amounts being changed.
- We fixed warnings which could come up on PHP 8 on the product edit form in the backend with products with variants with missing sorting data.
- When using setting the "sub element filter" setting of a menu/module to "group by categories" for a listing of product with the "main category" set to the main vendor category, the products wouldn't be found unless they were both linked to the sub category and the main vendor category. We fixed this so that it is not necessary, as it was already the case for normal categories.
- Once a cart was emptied, and if you added to the cart a product with variants where the main product was restricted by user group and you were logged in, it was possible the add to cart would be refused due to the system not properly retrieving the current user id.
- The delete icon of coupons with the multicoupon plugin didn't work properly in some cases.
- We fixed an error which could happen with PHP 8 when the tax rate of a coupon would be different than the tax rate of the products in the cart (a situation which should normally not happen).
- We fixed a deprecated message when sending an email in some rare cases on PHP 8.1
- We've added a little adjustement to avoid broken image icon for when the Shop address image setting is left empty.
- We removed the trigger of the events onPrepareModuleList, onAfterModuleList and onAfterCleanModuleList when loading the modules under the product page as it was causing more problems than anything with some templates.
- The check to hide empty filters on the frontend didn't work in some cases.
- We've added a little javascript fix for the open/close category explorer in the backend.
- The minimum quantity and maximum quantity settings of coupons were not working properly in some cases.
- When unpublishing several products or categories at the same time from the backend listings, the onAfterProductUpdate event would be triggered for each product but the $element passed would each time be the first product/category.
- When having only custom order fields of the types radio/checkbox without any default value selected, even if the fields were required the system would skip the check if nothing was selected in any of them.
- Following recent improvements to the options system, product options displayed as checkbox or radio wouldn't work properly in some cases.
- We've added a patch to avoid the current menu item's main category from being lost when loading the filters when the menu item would be translated with Falang. This could lead to filters restricted to categories to not appear on the page.
- The shipping and payment taxes were not taken into account properly when saving the changes with the new interface of the order management.
- Some templates would customize wrongly the radio and checkbox custom fields due to the classes changes we made in the 4.7.0. So we've made a change to avoid the issue.
- There was a problem with a translation key of the nl-NL translation file which would lead to an error on PHP8.
- When the product name would be too long it would generate an error with the PayPal Checkout payment plugin.
- We've fixed some issues with price comparisons on the checkout with shipping / payment methods on PHP8.
- We've added a patch to postpone the user synchronization during the HikaShop registration so that it is done by the registration process, and not the user synchronization plugin, and thus includes the custom user field data when triggering the onAfterUserCreate event.
- We've improved the robustness of the translation mechanism, especially when the original text strarts with a number.
- The generation of thumbnails could, in some cases generate a deprecated message on PHP 8.1
- In some rare cases, after products from a warehouse would be removed from the cart, the checkout would require a new validation of the shipping method selection before allowing the finishing of the checkout process.
- We've fixed a warning with the language switcher on PHP 8 which could happen in some cases.
- The geolocation plugin could generate a warning when the country of someone would be disabled in HikaShop or if the country code returned by the geolocation service would not be found in hikashop.
- We improved the error handling when saving a user to the database to display a proper message when trying to change the email address for one which is already used by another user entry.
- When the user clicks on the "new" button of the wishlist listing, we now stay on the same page instead of directing to the "URL where to redirect when the cart is empty", as it makes more sense.
- We've added some extra checks during the checkout to make sure the addresses being selected have all their required fields properly filled, even if they were filled before new required custom fields were added.
- We improved the error handling on the contact form when a custom field is not properly filled. Before, the user would have to re-enter everything and he would get an error on the email address even if he had filled it. Now, he won't have to re-enter everything and he won't have an error on the email address if filled.
- We made the limit periods translatable and translated them in French and Japanese. We translated the weight units in Japanese.
- The options of modules included in HikaShop are now translatable and translated in French and Japanese.
- The content of the add to cart HTML button popup is now displayed as a view so that you can create an override for it if you need to customize it.
- We changed the alignment of the quantity input incorrect warnings so that they display better on mobile devices.
- We've updated the header for the "Orders this month" to "Sales past 30 days" in the dashboard in order to better reflect what is being displayed.
- We've improved the display of the status of downloads on the downloads listing on the frontend so that represents better the situation of the download, especially for some cases.
- We've added the support of the Robots setting of menu items of the type cart listing, cart page, registration page, contact page, order listing, user control panel, and address manager.
- New shipping method image added for Posteitaliane.
- We've improved the payment and shipping views of the checkout so that if they are alone in their own step and that no shipping or no payment is required (because the order has only virtual goods, or the total amount is 0), the step will be skipped automatically to lead the customer to the next step of the checkout workflow.
- We improved the saving mechanism for the product form customization so that it can handle fields being displayed or not based on the user group and other criteria.
- We've added an horizontal scrolling capability to the backend screens so that if the content needs a bigger width (like the order status listing page on small screens) it will allow you to scroll to see everything instead of going outside of the area.
- You can now use drag & drop to reorder the characteristic values easily in the HikaShop backend.
- It is now possible to add HTML in the "Format" setting of currencies. This can potentially allow you to separate the price and the currency inside different spans with a format like this for example: <span class="symbol">€</span><span class="price">%!n</span>
- Publish & unpublish button listing have now css dress up in order to have colors (UX).
- We've added a new order status "returned" by default.
- We've removed the swf extension as default file extensions allowed for new installations of HikaShop as it has become obsolete.
- We now automatically delete the administrator/components/com_hikashop/extensions folder at the end of the installation process as we don't need it anymore. This also avoid reinstalling old plugins which are not included in HikaShop anymore.
- We've improved the default look of the buttons in the popup notification after an add to cart.
- We've added an extra option "provide points instead of fees" to the affiliate system so that partners will get points through the user points system instead of fees for their affiliation efforts.
- We've added new columns hidden by default to the products listing in the backend.
- We've added a new option "check on add to cart" to the shop closed hours plugin. It allows you to directly cancel the add to cart of products if the shop is currently closed.
- We've added triggers onBeforeMassactionFilter and onBeforeMassactionProcess in the mass action system so that plugins can cancel actions, remove filters, add extra filters while a mass action is being run.
- You can now select the fields you want to be indexed in the Smart Search plugin settings, allowing you to index custom fields and other data of the products which were ignored by the Smart Search so far.
- We added a new feature that allow you to hide or display columns in your backend listings. This will also allow us to add extra hidden columns which can be displayed with the tick of a checkbox for merchants who need them without having too many columns displayed by default.
- We've added a new option to the login block of the checkout workflow to be able to override the registration form with custom text/html.
- We've added a button to the product form customization mechanism to be able to easily activate/deactivate it.
Release date : November, 18 2022
List of all the files changed between the 4.6.2 and the 4.7.0
- The generation of thumbnails could, in some cases generate a deprecated message on PHP 8.1
- In some rare cases, after products from a warehouse would be removed from the cart, the checkout would require a new validation of the shipping method selection before allowing the finishing of the checkout process.
- We fixed the compatibility between the Shipping Estimation plugin and the Australia Post v2 shipping plugin.
- We fixed an error on the frontend which could happen when the minimum quantity per order configured in the product would be higher than the maximum quantity per order and the product's quantity input would be configured as "show select" (a dropdown).
- HTML tags could potentially appear in the option dropdown on the product details page in some rare situations.
- In some rare cases, displaying a cart in the backend where the user had already selected the UPS shipping method but had, for some reason no country selected in his shipping address could result in an error.
- We've added some extra check to make sure a payment plugin won't process a payment in the onBeforeOrderCreate event if a previous plugin has asked to cancel the creation of the order.
- The hreflang tags generated in the headers of the pages by the system languagefilter plugin of Joomla could be incorrect on listings and product details pages if different canonical URLs would be provided for each language for the category/product. Our fix prevents that from happening.
- The imported orders could have empty addresses with VirtueMart in some cases.
- After importing orders with shipping methods not available in HikaShop, an error would happen on PHP8 when displaying the order details in the backend.
- When creating a new cart/wishlist in the backend, it was possible on PHP 8 and in some special cases, to generate a fatal error.
- We fixed warnings messages on PHP8 with Joomla 3 on the frontend when products / categories wouldn't have an image defined for them.
- The coupon value could be incorrect in some rare cases for coupons with the handling mode set to "override discounted products" and with several products taken into account by the coupon.
- We fixed a warning when creating a new payment method following an improvement we've added in the 4.6.2.
- We improved the installation of embedded plugins so that no warning would appear later on on PHP8 when sorting the Joomla extensions listing.
- The import of product translations now handles properly the texts with line returns or double quotes.
- In some cases the "display errors" setting of the shipping view of the checkout workflow wouldn't be taken into account properly.
- The "Product quantity from" setting of the coupons would not work properly in some cases.
- The extra blocks of the product edit page were not added to the variants form.
- The reset button for the product edit page customization was not reseting the variant form customization.
- The label of the image width in the menu item options had been wrongly changed to the block layout label of the option above it.
- The fix added in HikaShop 4.6.2 to properly load the overrides for controllers and classses could result, in some rare cases in the wrong template being loaded on some pages of the frontend when the geolocation plugn would be used with its "after initialize" setting being activated.
- We've added a fix to properly support the "invoice shop image address" setting being empty.
- In some cases with several shipping/payment methods the taxes might be not properly taken into account during the calculations in the cart / checkout.
- The language switcher integration now takes into account the custom sef name of the languages when set.
- When using the VM2 import with a table prefix for the VM tables, it would result in an error during the import of the addresses.
- Deleting the selected date in some options of the backend was not working on recent versions of Joomla 3 on some websites.
- There was a conflict between the library included in the PayPal Checkout plugin and the header automatically added to the PHP files during the packaging process of HikaShop which resulted sometimes in a fatal error when using the PayPal checkout plugin.
- The XML of the HikaShop dashboard module could cause issues with the error reporting activated when installing other extensions on Joomla 4 following a change in HikaShop 4.6.2
- Removing all the selected category from a limit wouldn't be taken into account when saving the limit.
- We fixed a warning on the publish/unpublish toggle of the shipping/payment methods on PHP8.
- The uninstallation of HikaShop modules could generate a Fatal error on Joomla 4.2 with PHP 8 as the client attribute was not present in the manifest file.
- The title of the wishlist page could be incorrect in some cases.
- When indexing products in the Smart Search component on PHP8, if a variant was pointing to a non existing product, it would generate a fatal error, stopping the process.
- The RSS and Atom fees would generate an error on Joomla 4.
- The back button on the cart page will now correctly use the current menu Item.
- The error messages on the password rules now display with the proper translation on Joomla 4.
- The cookie modification in 4.6.2 to improve FireFox compatibility could lead to a fatal error on some versions of PHP.
- The best customer reports could generate an error on PHP8 when no orders would be found.
- The "move to new wishlist" action on the frontend cart/wishlist page didn't work properly.
- In some rare circumstances, the use of the coupon free product plugin could lead to a MySQL query error when adding a product to the cart.
- We fixed an error which could happen if you had configured the "user group after purchase" setting in at least one product of the order being confirmed and the HikaShop group plugin would be enabled without its settings having being saved once in the past on PHP8.
- We've improved the robustness of the translation mechanism, especially when the original text strarts with a number.
- It is now possible to add HTML in the "Format" setting of currencies. This can potentially allow you to separate the price and the currency inside different spans with a format like this for example: <span class="symbol">€</span><span class="price">%!n</span>
- We've added an horizontal scrolling capability to the backend screens so that if the content needs a bigger width (like the order status listing page on small screens) it will allow you to scroll to see everything instead of going outside of the area.
- We've added a new order status "returned" by default.
- The publish & unpublish buttons on backend listings now have colors.
- The Google Products plugin's menu item setting now uses a menu item selector instead of an input field in order to make it easier for the user to choose a menu item for the plugin.
- The "Redirect Joomla registration to HikaShop plugin"'s setting is now a menu item selector instead of an input field so that you can more easily choose a menu item for it instead of having to search for the id of the menu item in the Joomla menu manager. We've also improved the tooltip for that setting to properly explain what the setting does.
- We've changed the order of loading so that shipping plugins are loaded before payment plugins so that shipping plugins can cancel an order creation before a payment plugin could potentially process a payment.
- We've added a new event onBeforeUserListing for the user listing in the backend. This will allow plugins to be able to modify the MySQL query loading the users there and add extra filters on the listing page, similarly to what's already possible on the orders listing.
- The cart view of the Checkout workflow editor is now on two columns as it now has a lot of options. Incidentally, plugins adding extra blocks can now have their options in two columns with the "separator" type.
- We improved the check database mechanism so that it works fine when plugins add new columns to the database during an update.
- We've modified the class of the area for the additionals in the notification emails so that it's now possible to add CSS for only one additional without affecting the others.
- The Google Products plugin now automatically provide the sale_price in the XML if a discount is applied on the price of the product. That way, Google will get both the price without discount and the price with discount and will be able advertise the products as being on sale.
- We now force the capture of the money in "test mode" with the WorldPay Business gateway to make it easier to test payments with it.
- It's now possible to use hikashop_getLayout for the layout of a hikashop plugin.
- The close button for error messages on the frontend now also support Bootstrap 5.
- We improved the error handling in the PayPal Checkout payment plugin.
- We added extra data to the cart.empty javascript event so that developers can know what has been changed in the cart when it is emptied.
- We've added a hidden option "form_custom" to be able to disable the form custom mechanism on the product edit page in case you don't need it and it create some problems.
- The geolocation plugin is now deactivated by default to avoid doing useless processing on the pages when not necessary.
- When the cart is being modified on the checkout, we now provide the data of the modified products to the javascript event so that third party javascript can use it.
- We changed the "none" text of the tax category setting of variants to "as parent product" to better reflect the behavior of the system.
- We now always display the thumbnails for the listing block layouts with "image" in their name, even if the "thumbnails" setting of the HikaShop configuration is turned off.
- We've added the Central Bank of Russia in the list of available exchange rates feeds of the HikaShop rates auto update plugin.
- We now force the creation of the address format override if missing in the template as long as it is different from the default in HikaShop. That way, when you change the template, as long as you save the HikaShop configuration once, it will add the address format override for it, instead of letting you believe it did while it didn't do it.
- We've added a failsafe for the loading of the JavaScript libraries on Joomla 4 so that if something tries to load them before the web asset manager is loaded, it will wait to load them later on.
- We've added the support for brands restriction for discounts.
- Payment and shipping plugins can now have tooltips added to their options.
- We've added a new event onGetCartProductsInfo(&$cart, &$ret) so that plugins can pass custom information to the javascript when responding to an add to cart AJAX request or a cart update AJAX request.
- We changed the type of the field_default column in the hikashop_field table so that you can now write a text bigger than 255 characters in the default setting of custom fields.
- We've improved the look of the PayPal Checkout buttons at the end of the checkout.
- The RedShop import is not compatible with RedShop 3 (it would require writing a whole new import) so we've updated the text of the interface in HikaShop to reflect that.
- We've added a "position" and an "icon" attributes to the additional deletable parameter so that plugins adding additionals to the cart can choose the placing of the delete icon and the icon to use.
- We added the taxation_id of the created tax rule for the onAfterTaxationCreate event so that plugins can more easily act upon a tax rule creation.
- The password checks now also support the "minimum lowercase" setting and also checks for spaces at the beginning or end and check the max length to replicate all of Joomla's new checks.
- We've added jpeg, svg and webp as default file extensions allowed for new installations of HikaShop.
- We've removed the swf extension as default file extensions allowed for new installations of HikaShop as it has become obsolete.
- We've added a new "format" option for custom fields of the type "text", "textarea" and "WYSIWYG" so that you can prepend/append text around the value provided in the field when displaying the value of the field. This can be quite useful. For example, if you want to display a tracking URL in your emails, you can use a custom order field where you just provide the tracking number and use that format setting to add the HTML of the link around the tracking number.
- We've reworked the order additional information edit popup so that it is clear what each input field is for and also improved the price / tax fields so that it is easier to use, without the need to manually calculate taxes.
- We've updated the order product create/edit form popup on the order details page of the backend. We removed the tax input field and added instead a "price with tax" setting. That way, you don't have to manually calculate the tax when you want another price than the price by default. We also automatically calculate the price with tax based on the price without tax and the tax rate selected and vice-versa.
- When options have several prices for different minimum quantities, the system will dynamically refresh the price displayed in the option dropdown/radio and will now also take it into account for the "price with options" display based on the quantity entered by the user in the quantity input field.
- We've added a new option "Funding" to the PayPal checkout plugin so that you can select the payment methods you would like to be available to your customers if eligible (like Pay Later, bancontact, etc).
- The input and select elements on the frontend now use the classes of Joomla 4 when using Joomla 4 instead of HikaShop's custom classes. We've made a system using constants which can be overridden either with options from the HikaShop configuration or plugins with the new event onHikashopDefineConstants.
- The password fields on the different registration forms of HikaShop now display similarly to Joomla 4, with the requirement meter.
- We have added new templates to allow you to change colors of your HikaShop emails, and select a new design to match your website style without having to modify the CSS of the emails default template.
- We have add a new options to allow to add icon in the cart module view.
- There was an error with the CardSave payment plugin on PHP 8.
- In some rare cases, the delete button of the cart module would not work properly.
- When following the "Display by color" tutorial, the colors wouldn't hide/display with the "Characteristics dynamic display" setting activated in the HikaShop configuration.
- We fixed an error with the add to cart when using AJAX file custom fields in some cases with PHP 8.
- The search feature could potentially break the HTML of the download button on the downloads listing of the frontend.
- We fixed some warning message which could appear if the data stored in the database for the values of a custom field is invalid.
- Accessing a menu item of the type HikaShop product comparison would generate an error on Joomla 4.
- PHP 8 could generate errors during calculations if there were too many decimals on the numbers.
- The custom user fields are now displayed properly on the Joomla profile edit page on the frontend for Joomla 4.
- We fixed some warnings with the order detail page in the backend when the address custom fields would be all disabled.
- We fixed a deprecated message on PHP 8 with the cart module when its settings were not saved once before being displays on the frontend.
- helpers / controllers / classes overrides (for custom development) are now working properly on Joomla 4.
- The Joomla language switcher module could output invalid URLs if the menu item used wouldn't have associated menu items for each languages on some pages.
- We fixed an error which could happen on PHP 8 when a currency rate was set to 0 and the system was trying to convert a price from that currency to another currency.
- When using the pagination number of elements per page dropdown on the entries listing in the backend, the entries wouldn't display anymore on the listing.
- The "update the values" action could generate a "wrong type for this column" error in some cases with the "string" mode selected.
- With many options it would be possible to have a conflict between two of them on the same product page leading to an option not refreshing the price of the product properly.
- We fixed the country name for Bosnia and Herzegovina.
- We fixed a deprecated message with filters on PHP 8.1.
- We remove special characters when looking for product names from the alias in the URL in the router to avoid regex MySQL errors.
- The filter selection on the filter module settings page can now handle more than 50 filters.
- We fixed a deprecated message on PHP 8 with custom text fields when the value is null in the database.
- The variants display on the products listing would aggregate all the values of all the products on the page instead of only the values of each product individually.
- We've fixed a warning in some rare cases with the thumbnails display on the product details page.
- We fixed a warning relative to the translation files loading.
- We fixed an issue with the product edit interface and Joomla 4.2 related to tags.
- The modification of the description of variants didn't work properly on Joomla 4 in some cases.
- The first parameter of the onBeforeConfigSave event was not set properly by HikaShop.
- When the "synchronized add to cart with cart" setting was activated while using the "tabular" layout, the add to cart wouldn't work properly.
- The cart synchronization didn't work well with multiple dropdown, radio and checkbox custom item fields.
- The characteristic values were not translated properly when using the "radio" display mode.
- The translation popup of variants would display an error with the "Alias automatic filling" setting turned on even though it was working.
- We've fixed a warning when deleting orders in the backend in some rare cases.
- The limits didn't save properly in the backend interface since HikaShop 4.6.0
- The toggle icons would display for the category translation popup even when Falang was not used to handle the translations while they should not appear.
- The French and Russian translation files had a wrong translation key which would override the email sent by Joomla to the admin after a registration, which would create a problem on Joomla 4.
- The actions "Change status", "Add an existing product" and "Change user group" didn't display properly their options until you saved the settings of the mass action.
- We added a fix to properly take into account the custom data of shipping methods in some cases.
- It is now possible to use the lowest tax rate for shipping fees.
- The brand selector on the product edit page now displays as a tree as brands can be in several levels.
- There is a new option to the FedEx shipping method to select the environment.
- You can now use a comma as a decimal separator when entering the "Retail price" or when importing the "product_msrp" column.
- The privacy consent integration now supports the "menu item" mode.
- We changed the default "Frequency of the check for the carts" for new installations from 1 days to 20 minutes so that even on websites with many carts created by users, the system can still keep up with deleting the old carts.
- Seletable filters will now be automatically hidden from display when there is no value to select in them.
- We now display boolean custom fields following Joomla 4's style on Joomla 4.
- We've added the support of the privacy consent plugin to the registration form displayed when you click on the link to register in the order notification emails after you placed an order as a guest if the corresponding option is activated.
- We've added an "empty the cart" button to the cart detail page.
- We've added "product_files" and "product_images" as reserved field column names as they are used internally and would create problems if used for a custom field.
- Plugins can now add extra fields on the characteristic edit form in the backend.
- The checkout login view will now display Joomla 4's social buttons (login with Google, Facebook, WebAuth, etc) mechanism. That way, users don't have to go through the registration procedure if social buttons are available (for example if they are added by Akeeba SocialLogin extension: https://extensions.joomla.org/extension/akeeba-sociallogin/ )
- Payment plugin developers can now add an attribute "needCallbackFile" to their plugin class to have a callback file automatically created for them at the root of the website and they can use $this->getCallbackFilename() to get the filename. This can be used when the payment gateway restricts the number of characters or some special characters like ?, & or = for the callback URL for the payment notification. That way, when that callback file is called, it will automatically trigger their plugin's onPaymentNotification function.
- We added a canonical URL header to the contact form page to make sure it's not flagged as duplicate content.
- The orders created with taxes calculated by the TaxCloud plugin can now be modified in the HikaShop backend without loosing the tax information calculated by TaxCloud.
- When the "synchronized add to cart" setting is activated in the HikaShop configuration is activated, you can directly update the quantity of the product from the "add to cart" button area on products listings and product details pages. So far even when reducing the quantity of the product in the cart, the notification box message would be "Product successfully added to the cart". We improved the system so that when the quantity is reduced it says instead "Product successfully removed from the cart" in order to improve user experience.
- There is now a link back to the product details page on the product name of the product contact form.
- If the stock of one of the selected options is not enough (or another limitation is hit for it), if the "group options with product" setting is activated in the HikaShop configuration, the add to cart of the whole product will be cancelled.
- We've added the SameSite attribute to the cart and session cookies to avoid a warning to be displayed in the console of FireFox.
- We now separate the "save" and the "save and close" buttons in the backend on Joomla 4 instead of having them stacked.
- We've added logging capabilities to the "AIM" mode of the Authorize.net payment plugin.
- We now allow HTML tags in the footer of the PDF generated by the PDF invoice plugin.
- We've improved the code loading the custom fields on products listing to avoid errors with custom code in some rare cases.
- We added a decimal to the exchange rate for new installations of HikaShop to be able to handle 6 decimals instead of 5.
- We've added a hidden setting called redirect_url_when_registration_form_access_while_already_logged so that you can override the URL where the user will be redirected if he tries to access the HikaShop registration form while already logged in.
- When the multilanguage edit mechanism is activated, for languages other than English, when HikaShop is being initialized, we now reload all the already loaded translation files without the English overrides so that English translation overrides don't interfer with the original texts of the HikaShop content when the base language of the content is another language than English.
- The PayFast payment plugin included in HikaShop has been removed from HikaShop's install package. PayFast offers their own version of the plugin and it conflicts with it. People already using our version will still be able to continue using it even after updating their HikaShop. But new installations of HikaShop won't have the plugin added anymore and they'll be able to get it from PayFast.
- We've added a new javascript event hkCustomFieldChanged which will be triggered when a custom field is modified.
- Changing custom item fields on the product details page now triggers the hkContentChanged javascript event.
- Plugins can now inject headers into emails in the onBeforeMailPrepare event by adding their headers to $mail->extraHeaders.
- We've removed the SEO fields from the translation popup of variants as they don't make sense there.
- We've added extra data display to the user edit form on the backend so that plugins can add extra elements to that interface.
- We've improved the javascript loading mechanism so that on Joomla 4, it will skip it if the web asset manager has not yet been initialized by Joomla.
- We've improved the categories filters so that if no category is selected, we still only display product categories in the filter as it doesn't make sense to display other category types.
- It is now possible to configure transparent stripes for image thumbnails.
- We improved the email history rendering of the emails to properly display images when added to the email as background-image.
- We removed the "add new value" button for the "default" setting of custom fields as it doesn't work properly and is not necessary there.
- We added an error message if the admin tries to use the "allow new value" setting while using his own MySQL query to load the values of a custom field as that's not possible.
- We improved the reminder plugin so that for cart reminders the plugin takes into account the last modification date of orders (and not only the creation date) and to also use the "cart waiting period" as a buffer so that if an order was created/modified for that user less than that period of time (1 day by default) before the last cart modification we also don't send a reminder.
- We've added a "make this address default" checkbox to the address form on the checkout when necessary to make it easier for the user and avoid having to go to the address manager to change the default address.
- We've added some failsafe for reports not properly initialized in order to not get an error when editing the report.
- We added a patch for the compatibility with 4SEF (successor of SH404SEF).
- HikaShop will now trigger the events onPrepareModuleList, onAfterModuleList and onAfterCleanModuleList for the modules loaded under the product page so that other extensions, like Advanced Modules Manager can process them.
- The translation mechanism now supports non latin languages for the original language with a new setting for it under the Languages tab of the HikaShop configuration.
- The UPS plugin has a new option to be able to select between the production environment and the test environment.
- We've added the "Sofinco" bank to the PayBox payment plugin.
- The variants can now have their own tax category, overriding the main product's.
- We added two settings in the HikaShop configuration to be able to enter your logo URL so that it will be added to the invoices generated by HikaShop.
- We've added a new PayPal Checkout payment plugin to HikaShop. With it, you'll be able to use the latest "PayPal Checkout" offered by PayPal.
- We've added a new option "Email favicon" under the Emails section of the HikaShop configuration so that you can configure a favicon to customize further the emails to your branding.
thanks to @lorus
- We improved the product selector to avoid display issues with special characters on variants.
- The waitlist now properly take into account bundled products.
- We fixed an error with the Google Products plugin following the addition of tags support in the file name.
- The address edit/creation form of the address manager on the frontend didn't display the required fields properly.
- The address edit/creation form of the address manager on the frontend didn't display the error messages properly in some cases.
- We fixed the $this->filter_set parameter's value in the product / listing view file.
- We fixed a warning message during the import of products when using the price_value_with_tax column to insert prices.
- The products data was missing in the CSV export of orders due to a change in HikaShop 4.5.1.
- We fixed a notice with the saving of filters in the backend.
- The ORDER_END_MESSAGE text would appear at the end of the order admin notification email in some cases.
- We modified the language files to avoid issues with PHP8 in some rare cases.
- There was a problem in the Russian and Malaysian translation files which would result in a fatal error on PHP 8 at the end of the checkout for these languages.
- The import of products didn't work properly in some cases.
- We fixed an issue with pagination.
- We fixed a warning with the import / copy in some cases.
- Product listing carousel modules inserted inside the main area of a HikaShop page on the frontend (like with the "modules under the product page" setting or with a loadmodule tag inside a category description) would get a normal pagination even though they shouldn't and the carousel wouldn't work properly.
- We fixed some deprecated messages for PHP8 during the email generation process in some rare cases.
- The configuration of several triggers / filters / actions in a massaction on PHP8 could result in problematic refresh issues for one of them.
- An error would happen when deleting addresses or orders due to a change we made in the 4.6.0 to support deleting the images/files of custom fields when an address / order is deleted.
- We fixed a notice when exporting all products data and there are variants pointing to a non existant product. This should normally never happen unless you delete the product manually from the database without deleting the corresponding variants or if an unforseen event stop the deletion process of a product before it can delete all the variants.
- We made a fix to the HikaShop user synchronisation plugin to avoid a conflict with easyblog in the backend.
- The "display limited to" setting of custom product fields wouldn't work properly on the product edit page due to the field customization interface we've added recently.
- We fixed a bug with the export action of mass actions which could happen in some cases.
- We've fixed an issue which could happen in some cases with the creation of new variants and their edition.
- We fixed a notice on the payment notification email when products would have downloadable files attached to them.
- The tags {year}, {month} and {day} didn't work properly for mass actions.
- Custom fields of the table "category" wouldn't display properly on the category edit form due to an issue with the modifications we made in the 4.6.0 for the support of the "hidden" custom field type.
- We fixed an error with the creation of new categories on PHP8.
- The custom order field selector of the "Fields" view in the Checkout workflow setting of the HikaShop configuration page could potentially generate a javascript error leading to the Checkout workflow editor not working properly.
- We modified the Google Analytics 4 plugin to load the google analytics javascript asynchronously to help with page display performances.
- The PayPal plugin now changes the rounding of the prices sent to PayPal based on the currency as PayPal changed the system on their end to enforce it.
- The PayPal Express plugin now changes the rounding of the prices sent to PayPal based on the currency as PayPal changed the system on their end to enforce it.
- The HikaShop password plugin now also changes the "add to cart" button to a "choose options" button on the products listing if there is a password on a product and it hasn't been provided yet by the user.
- We improved the product selector so that if several variants of a product match with the text entered in the selector, the product is only once in the results, and not once per matching variant.
- We now cancel the enter key action on the product selector popup when using the "select" button of the order edit area.
- We changed the USPS shipping plugin's message when no shipping rates are available so that it can be modified with a translation override.
- We've added the meta tag datePublished for each comment to provide the date when the comment was posted.
- The smart search index will now refresh when a category is published/unpublished so that products only linked to unpublished products will be removed from the index and vice-versa.
- The "categories" setting of coupons can now handle brands as well.
- We now take into account the published categories during the indexation process of the smart search so that if all the categories of a product are unpublished, the product state in the index is 0 and it won't appear in the search results on the frontend.
- We now automatically create the custom user field "user_points" when a user points gain plugin instance is configured or when a user points payment method is configured.
- The "Force a menu on checkout" option of the HikaShop configuration now take into account associated menu items for the different languages.
- We changed the text for the minimum quantity field of prices when editing a price of a product in the backend to avoid confusion between stock and minimum quantity.
- We've added a new font to the PDF invoice plugin to properly support Chinese.
- Canonical URLs now support # in them.
- We removed a useless / in the URL of some images of some of the images sent by hikashop.
- The email history now provides the link to the order for contact emails sent for an order.
- We added a new event onAfterFieldInit so that plugins can modify the initialization of custom fields.
- We added a hidden option default_order_status_on_order_listing for the orders listing.
- The like plugin has an extra choice so that you can remove the like icon from the products listings to only have it on the product details pages.
- We've added the possibility to add the variant images before the main product image instead of after with the "Variant images behavior" we've added in the 4.6.0
List of all the files changed between the 4.5.1 and the 4.6.0
- The cart module wouldn't refresh upon being emptied in some rare cases.
- We fixed an issue with custom fields in some rare cases on PHP8.
- We fixed a compatibility issue with Joomla 4 on some rare backward compatibility with old view overrides when looking a the cart view on the frontend.
- The shipping view would prevent the checkout from finishing if a warehouse of products had no shipping methods available even though no shipping was necessary for it (for weightless products for example).
- We reverted the modifications in the Oby library and migrated the xRequest and updateElem functions in window.hikashop so that we can have them work the way we need them in hikashop while not changing anything for other extensions using Oby.
- We fixed some issues between the TaxCloud plugin and Joomla 4.
- The waitlist return screen would display without the template in some cases.
- The PDF invoice plugin now properly take into account the shipping address override of the Mondial relay and Colissimo shipping plugins.
- The Google Analytics 4 and Matomo plugin could generate an error on Joomla 4 in some rare cases.
- When clicking on the "notify me when available" button of products without stock from inside a popup, it wouldn't display properly the waitlist form inside the popup.
- We fixed some deprecated messages on PHP 8.1.
- We fixed an error with the export system.
- On joomla 4, a fatal error would happen on the frontend pages with an add to cart button being added through a content tag if the "use chosen library" setting would be activated in the HikaShop configuration.
- The quantity input field of the cart details page on the frontend would not allow you to change the quantity of the product in some cases.
- We fixed a fatal error on Joomla 4 with the Recaptcha plugin on some pages of the frontend in some rare cases.
- The quantity input field was not always taken into account when adding a product to the cart from inside a popup.
- We fixed a compatibility issue with Joomla 4 when displaying a categories listing module with a specific set of settings.
- The instalments options in the ATOS SIPS v2 plugin didn't work properly.
- We fixed the USPS shipping plugin as it was not providing a correct girth to USPS in some cases, which could result in higher rates than expected in some cases.
- We've added a fix for the loading of the categories of a product in the Matomo plugin.
- We've added a fix for Joomla 4 compatibility in some rare cases for the Recaptcha plugin.
- In some rare cases, it was possible for a user to post a comment without entering a username/email with his comment.
- When public voting would be activated, it would be possible to publish a comment on a product without entering a username if the user had already filled the guest checkout form.
- We now have a new hikashop_human_readable_bytes function in our main helper to easily display file sizes in a human readable form.
- We improved the support of Joomla 2.5.
- We now take into account the value configured in the Joomla configuration's robots setting when the robots setting of the menu item is set to "use global".
- We've changed the order of the Iranian provinces so that they are in the correct order for an Iranian searching among them.
- We've added Iran province names in English.
- Tags {language} {date} and {time} can now be used in the XML file name of the Google Products plugin.
- We now generate the breadcrumb links before generating the variant data to avoid variant data being used in the last entry of the breadcrumb on the product details page.
- We now catch the exception when the view creation queries fail on the partners listing due to missing permissions of the MySQL user. That way the listing can still be used, it's just the total fees that are missing from the listing.
- We now hide the "last modified" column instead of the checkbox column on small width devices on the orders listing so that the user can still select the orders to use actions, delete them, copy them, etc.
- We've changed the delay setting in the ATOS SIPS v2 plugin to use days instead of months as the maximum delay allowed by ATOS SIPS is 30 days and if you entered 1 month, it would work properly for months with 31 days.
- We've improved the deletion of custom fields. You'll now be presented with a link you can click on to also delete the data in the database after deleting the custom field.
- It is now possible to create new custom fields with the same column name as previously deleted custom fields. In such a case, the data of the previous field will be automatically used for the new custom field.
- We changed the type of some of the columns in the database, like the product_description, from text to longtext for new installs of HikaShop so that it can hold longer text.
- We improved different quantity input displays for J3 & J4 (and added a hika_j3 / hika_j4 class).
- We added a class in order to specify whether a filter has been applied to the listing or not, and authorize specific css styles.
- We added a class to the waitlist button to allow easier styling of the button.
- We now include more information on the issue when sending a payment notification email to the admin and there was an issue.
- We now display a nicer error message when you create a filter for a mass action and there is a problem (a MySQL query error because of a wrong regex for example).
- The "main attributes" area now hides automatically when empty on the custom fields edit interface.
- The smart search integration plugin now supports images.
- The XLSX format now also takes into account the "CSV decimal separator" setting of the HikaShop configuration.
- The "OK" button in the actions popup has been renamed to "process" to better fit with what it does.
- The order export now includes a column for each tax rate for easier accounting, similar to what is provided with the mass action's export capabilities.
- The order_tax_amount columns for the "Display the results" action of mass actions now display as prices instead of floats taking into account the currency of the order.
- You can now select the order_tax_amount column for the "Export a CSV file" action of mass actions.
- The system will now generate the alias automatically for the translation of products / categories when providing a translated name without providing a translated alias if the "alias auto fill" setting of the HikaShop configuration is activated.
- We improved the messages display for the vote & comment system.
- We've added a new type "hidden" to the available custom field types. That way, you can create hidden fields to inject data into on forms without having to add custom CSS to hide the custom field from the view.
- We've added a new option "Variant images behavior" so that both the main product images and the variant images can be displayed when a variant is selected.
- We've added an extra setting "Support translated aliases in URLs" to the Languages tab of the HikaShop configuration so that you can manually activate the translation of aliases as it could cause heavy load on servers due to the way it works.
- The custom fields of the type "ajax file" and "ajax image" now have a "delete files" setting so that they can remove the files attached to an element when that element is deleted (for example if you delete a product and you had uploaded files to a custom ajax file field for that product, the files will be removed along with the product).
- The custom fields of the type "ajax image" now have a "thumbnails dimensions" setting so that you can define the size of the thumbnails when displaying the uploaded images while beofre it was automatically 100*100px.
- We've added a new option to characteristics so that you can display the available values for each product on products listings.
- We've added a new option to the mass actions so that you can use the actions of a massaction as an extra button on listings.
- We added the events onBeforeProductExport, onBeforeZoneDelete, onAfterZoneDelete, onBeforeZoneCreate, onBeforeZoneUpdate, onAfterZoneCreate, onAfterZoneUpdate, onBeforeWarehouseDelete, onAfterWarehouseDelete, onBeforeWarehouseCreate, onBeforeWarehouseUpdate, onAfterWarehouseCreate, onAfterWarehouseUpdate, onBeforeWaitlistCreate, onBeforeWaitlistUpdate, onAfterWaitlistCreate, onAfterWaitlistUpdate, onBeforeWaitlistDelete, onAfterWaitlistDelete, onBeforeViewUpdate, onAfterViewUpdate, onBeforeViewDelete, onAfterViewDelete, onBeforeHikaPluginDelete, onAfterHikaPluginDelete, onAfterHikaPluginCreate, onAfterHikaPluginUpdate, onBeforeOrderstatusDelete, onAfterOrderstatusDelete, onAfterMassactionProcess, onBeforeLimitCreate, onBeforeLimitUpdate, onAfterLimitCreate, onAfterLimitUpdate, onBeforeLimitDelete, onAfterLimitDelete, onBeforeFilterDelete, onAfterFilterDelete, onBeforeFilterCreate, onBeforeFilterUpdate, onAfterFilterCreate, onAfterFilterUpdate, onBeforeBannerCreate, onBeforeBannerUpdate, onAfterBannerCreate, onAfterBannerUpdate, onBeforeBannerDelete, onAfterBannerDelete, onBeforeCurrencyDelete, onAfterCurrencyDelete, onBeforeCurrencyCreate, onBeforeCurrencyUpdate, onAfterCurrencyCreate, onAfterCurrencyUpdate, onBeforeCharacteristicDelete, onAfterCharacteristicDelete, onBeforeCharacteristicCreate, onBeforeCharacteristicUpdate, onAfterCharacteristicCreate, onAfterCharacteristicUpdate, onBeforeBadgeDelete, onAfterBadgeDelete, onBeforeBadgeCreate, onBeforeBadgeUpdate, onAfterBadgeCreate, onAfterBadgeUpdate so developers can interface with that data.
- We developed an Action log plugin for HikaShop and Joomla 4 which needed all the events above to be added in HikaShop. It is now available on our marketplace.
Release date : February, 17 2022
- The PayPal Express Checkout plugin could in some rare case create empty orders.
- We fixed warnings in some rare cases when the setting of the cart cookies.
- The translation overrides of the product/category name/alias were not taken into account properly by the routing system when using HikaShop Starter.
- We fixed a fatal error which could happen in some rare cases during the sending of the order email notification when the order was created on the checkout on PHP8.
- The "per status override" mechanism of the "order status notification" email now better handle special characters in the order status namekey (can be done when creating custom order statuses in the System>Order statuses menu).
- In some cases on joomla 3, the order statuses filter would be with chosen while it shouldn't and thus wouldn't work properly.
- We fixed a warning which could happen when calculating taxes on shipping fees while the subtotal would be 0 with a tax rate applied.
- The display of the activation page after registration on the checkout didn't work properly in some cases.
- We fixed some issues with Joomla 4 in some rare cases.
- An error could happen on PHP8 when changing a product of an order without taxes which would result in a fatal error.
- We fixed some issues with PHP8 and user export mass actions.
- The shipping prices area would not appear on the product page even when properly configured in some rare cases.
- A fatal error would be generated on Joomla 4 when using a custom field of the type "date (obsolete)" which could be used in the past but isn't selectable anymore since there is now the "advanced date picker" type.
- The "orders" menu was not active when looking at the discounts / coupons in the backend.
- The value of custom order fields couldn't be removed from the backend order edit interface due to a side-effect of another fix.
- When you edited a category, the name and description displayed in the input fields would be the translated ones instead of the original ones.
- We fixed a PHP warning in the user address retrieval.
- The name of products with variants on the WorldPay payment page would display the HTML tags instead of having them stripped.
- We've fixed a rare MySQL query error with the product import.
- We now forces the display of accordions with bootstrap on Joomla 4 regardless of whether the "use bootstrap design" is activated or not since the alternative with mootools is not available on Joomla 4.
- We fixed an error on Joomla 4 during the registration form display when the consent plugin of Joomla would be activated.
- We fixed an issue we had with the Google Auto fill plugin with slovenian addresses.
- We fixed an error on PHP8 with the saving of additional information of an order in the backend with some types of custom order fields.
- We fixed an issue on PHP8 with product mass actions with an "update categories" action.
- We fixed an error in some rare cases with modules settings being missing on PHP8.
- We've added a bit of css to fix the look of the next/previous product shortcut buttons.
- The color system by order status now works for the Joomla 4 backend.
- We fixed an issue we had with the way shipping prices were calculated.
- We now properly display the error message when you save a variant and an error happens.
- We have add some css adjustement for backend Massaction (export options CSV, XLS, XLSX).
- Taxes on the payment fees are now taken into account when the customer is changing the payment method of the order from the frontend.
- We've improved the return from SIPS when the customer cancels the payment.
- The currency selector of payment methods and shipping methods and the shipping methods selector of payment methods have been redone using our own selector mechanism so that they work better on Joomla 4.
- We've improved the accessibility of the shipping method and payment method forms.
- We've improved the ATOS / WorldLine SIPS v2 plugin to better handle some errors during the payment notification.
- We've added an extra check so that you cannot configure the same path for the "upload folder" and the "upload secure folder" settings of the HikaShop configuration. This will prevent accidentally loosing access to all your images on the website.
- We now display a nicer message when you access your order listing on the frontend and there are no orders found.
- The "only with products" setting of category listings now also take into account the "access level" setting of the products.
- We have slightly modified the product order listing plugin available for free on our Marketplace in order to work with the new drag & drop BE product feature.
- Brands won't be listed anymore in the "categories" setting of the product edit form since only categories should be selectable in that setting.
- The brands do not display anymore in the explorer of the products and categories listing and the categories do not display anymore in the explorer of the brands listing. That's more logical and will avoid confusion for the users of the backend.
- The eSelect / Moneris plugin is now compatible with PHP 8.
- The frontend URL of the product page is now also included in the contact request email sent to the admin.
- The "access level" settings under the "access level" tab of the HikaShop configuration are now sorted alphabetically based on the translated text of the label and not based on their key, which makes more sense for languages other than English.
- The address data would be lost in the input fields of the address form when editing an address of an order in the backend and an error would happen. The user would have to cancel to be able to edit it again with the previous data entered. We improved this so that the data entered by the user could be provided to the form so that he would just have to change the field with the issue.
- The display of messages in the backend on Joomla 4 could sometimes produce a message box with a non-functioning (and useless) close button as it was relying on a Joomla 3 capability. We now use HikaShop's message display system in these cases and it makes more sense and works better.
- We added some adjustement in Product design clothes plugin in order to better fit with the Joomla 4 frontend templates.
- We improved the way the address field of the auto fill plugin was displayed and used.
- We've added an option "Group options with product for the shipping price calculation" to control if product options should be grouped to their products during the shipping price calculation.
- It is now possible to synchronize the quantity input field and the add to cart button display with the product information in the cart thanks to the new setting "Synchronized add to cart" in the HikaShop configuration.
- We have added a new "popup mode" settings to products listing so that you can display the product details page in a popup on the listing page instead of being redirected to the full product details page.
- HikaShop now supports the use/upload of webp images.
- We've added a translation interface for the custom fields.
- It is now possible to reorder the different sections of the product edit form by drag & drop. And when you save a product with a new order of the interface elements, this will be remembered for when you edit/create products in the future.
- We've added a "return URL" setting to the "user points" payment plugin.
- There is now a format setting for the cursor labels of cursor filters not based on the price so that you can fine tune the format of the numbers (decimals, grouping, prefix, suffix, etc).
- The category explorer on the products / categories / brands listings can now be closed /opened with a button on it. And this will be remembered next time you access the same listing. It will be closed by default for the categories/brands listings as in most cases it is not needed there.