Ошибка при добавлении плагина товара
Ребята, добрый день!
Никак не могу понять в чем ошибка. Добавил через плагин свойство товара (наличие). И постоянно получаю ошибку:
Вот код плагина:
index.php
Спасибо!
Ребята, неужели никто не может подсказать,хоть куда копать!!!
Никак не могу понять в чем ошибка. Добавил через плагин свойство товара (наличие). И постоянно получаю ошибку:
[2018-04-05 11:49:50] (ERROR @ C:\OpenServer\domains\antikmagaz-new.ru\core\components\minishop2\model\minishop2\minishop2.class.php : 558) PHP warning: Invalid argument supplied for foreach()Не могу понять почему? Должен быть массив, а его нет!Вот код плагина:
index.php
<?php
return array (
'xpdo_meta_map' => array (
'msProductData' => require_once dirname(__FILE__) .'/model/msproductdata.map.inc.php',
),
'manager' => array (
'msProductData' => MODX_ASSETS_URL . 'components/minishop2/plugins/nalichie/msproductdata.js',
),
);msproductdata.map.inc.php<?php
return array (
'fields' => array (
'availability' => 1,
)
,'fieldMeta' => array (
'availability' => array (
'dbtype' => 'tinyint',
'precision' => '1',
'attributes' => 'unsigned',
'phptype' => 'boolean',
'null' => false,
'default' => 1,
),
),
);msproductdata.jsminiShop2.plugin.availability = {
getFields: function(config) {
return {
availability: {xtype: 'xcheckbox', description: '<b>[[+availability]]</b><br />'+_('ms2_product_availability_help'),inputValue: 1,checked: parseInt(config.record.availability || 1)}
}
}
,getColumns: function() {
return {
availability: {width:50, sortable:true, editor: {xtype:'combo-boolean', renderer:'boolean'}}
}
}
};А это на что он ссылается (558 строка):if (isset($this->modx->map[$class])) {
foreach ($map as $key => $values) {
$this->modx->map[$class][$key] = array_merge($this->modx->map[$class][$key], $values);
}
}Подскажите, пожалуйста куда копать??? Спасибо!
Ребята, неужели никто не может подсказать,хоть куда копать!!!
Комментарии: 10
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Добавлено через пару минут: Только стоило написать как нашел решение проблемы)) Плагин лежал в папке /core/components/minishop2/plugins в документации сказано, что это устаревший способ и я всё же разместив файлы там сделал вторым способом (через API). Но только стоило переместить файлы плагина из папки plugins как ошибка ушла и начали добавляться товары в корзину (до этого не добавлялись).
И рассмотрим пример системной настройки ms2_plugins: []
Давайте попробуем туда записать данные за вместо квадратных скобок, поместим массив json:
Работает, отлично!
На Вашем же примере надо просто выполнить код в консоле, который будет помещать массив в плагин cart
И Вы увидите в системной настройке ms2_plugins массив-json со следующем содержимом:
И вдруг захотел сменить путь на более удобный
У меня появляется эта ошибка, сразу задался вопросом, а как же происходит регистрация плагинов, но ответа не нашел, поэтому и решил проблему таким способом
Странно, но работает))
Надеюсь на то, что в minishop3 появится такая возможность из коробки.