Ошибка в административной панели. Раздел «Настройки»
[] operator not supported for stringsВызвана тем, что к строковой переменной применяется оператор массива.
Для устранения находим файл
/administrator/components/com_virtuemart/models/config.php
Далее в методе getCurrencyConverterList меняем $result = ''; на $result = array();
Должно получиться, как на картинке:
Ошибка на фронтальной части сайта при просмотре товара
Cannot access property started with '\0'
Может возникать если у товара есть дочерние товары
Для устранения находим файл:
/administrator/components/com_virtuemart/models/product.php
Далее меняем код:
foreach ($attribs as $k=> $v) { if ('product_in_stock' != $k and 'product_ordered' != $k) {// Do not copy parent stock into child if (strpos ($k, '_') !== 0 and empty($child->$k)) { $child->$k = $v; // vmdebug($child->product_parent_id.' $child->$k',$child->$k); } } }
На:
foreach ($attribs as $k=> $v) { if (strpos($k, "\0")===0) continue; if ('product_in_stock' != $k and 'product_ordered' != $k) {// Do not copy parent stock into child if (isset($parentProduct->$k) && strpos ($k, '_') !== 0 && empty($child->$k)) { $child->$k = $v; // vmdebug($child->product_parent_id.' $child->$k',$child->$k); } } }
Ошибка с отображением групп пользователей
Не так давно всплыла еще одна ошибка. Собственно говоря, это все следствие того же неправильного указания типа данных. Ошибка с отображением групп пользователей. Группы эти выбираются при доставке, оплате, на странице товара. В общем то, много где.Изначально у данного списка была возможность мультивыбора. То есть, у одного способа доставки могло быть несколько групп пользователей. Однако, после перехода на PHP 7 эта возможность "отвалилась". Как это исправить?
Находим файл /administrator/components/com_virtuemart/helpers/shopfunctions.php
В этом файле находим метод(функцию) под названим renderShopperGroupList
Далее меняем $attrs = ''; на $attrs = array();
Сохраняем файл