Thank you for the latest update — it looks solid overall.
However, I immediately encountered a bug when attempting any export (including standard CSV). Every export fails with the following error:
Status error: 500 Status message: error
{"error":true,"code":0,"message":"implode(): Argument #2 ($array) must be of type ?array, string given"}
I traced the issue to the VirtueMart add-on, specifically this file:
plugins/csviaddon/virtuemart/com_virtuemart/model/export/product.php
The problem is caused by a value expected as an array being returned as a string, which results in a hard failure under newer PHP versions.
In line 793
this code
$priceCurrency = $this->template->get('price_currency', 'none');
if ($priceCurrency && $priceCurrency[0] !== 'none')
{
$query->where($this->db->quoteName('#__virtuemart_product_prices.product_currency') . ' IN (' . implode(',', $priceCurrency) . ')');
}
change to
$priceCurrency = $this->template->get('price_currency', [], 'array');
$priceCurrency = is_array($priceCurrency) ? $priceCurrency : [$priceCurrency];
if (!empty($priceCurrency) && ($priceCurrency[0] ?? 'none') !== 'none') {
$currencies = array_map('intval', $priceCurrency);
$query->where(
$this->db->quoteName('#__virtuemart_product_prices.product_currency')
. ' IN (' . implode(',', $currencies) . ')'
);
}Best regards,
Chris