pchelav Опубликовано: 27 ноября 2021 Опубликовано: 27 ноября 2021 (изменено) Добрий день! Все налаштував, але після активації в товарі отримую помилку: Fatal error: Uncaught Exception: Error: Duplicate entry '5' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_option_pro_price SET product_option_pro_value_id = '5', product_id = '507', customer_group_id = '2', price = '0' in /home/invafish/invafishki.shop/www/system/library/db/mysqli.php:42 Stack trace: #0 /home/invafish/invafishki.shop/www/system/library/db.php(45): DB\MySQLi->query('INSERT INTO oc_...') #1 /home/invafish/invafishki.shop/www/admin/model/tool/neoseo_product_options_pro.php(266): DB->query('INSERT INTO oc_...') #2 /home/invafish/invafishki.shop/www/storage/modification/system/engine/loader.php(267): ModelToolNeoSeoProductOptionsPro->addProductOptions(Array, '507') #3 /home/invafish/invafishki.shop/www/system/engine/proxy.php(47): Loader->{closure}(Array, Array) #4 /home/invafish/invafishki.shop/www/storage/modification/admin/model/catalog/product.php(314): Proxy->__call('addProductOptio...', Array) #5 /home/invafish/invafishki.shop/www/storage/modifica in /home/invafish/invafishki.shop/www/system/library/db/mysqli.php on line 42 В чому може бути проблема? Изменено 27 ноября 2021 пользователем pchelav Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 4 Опубликовано: 29 ноября 2021 Опубликовано: 29 ноября 2021 28.11.2021 в 01:49, pchelav сказал: Добрий день! Все налаштував, але після активації в товарі отримую помилку: Fatal error: Uncaught Exception: Error: Duplicate entry '5' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_option_pro_price SET product_option_pro_value_id = '5', product_id = '507', customer_group_id = '2', price = '0' in /home/invafish/invafishki.shop/www/system/library/db/mysqli.php:42 Stack trace: #0 /home/invafish/invafishki.shop/www/system/library/db.php(45): DB\MySQLi->query('INSERT INTO oc_...') #1 /home/invafish/invafishki.shop/www/admin/model/tool/neoseo_product_options_pro.php(266): DB->query('INSERT INTO oc_...') #2 /home/invafish/invafishki.shop/www/storage/modification/system/engine/loader.php(267): ModelToolNeoSeoProductOptionsPro->addProductOptions(Array, '507') #3 /home/invafish/invafishki.shop/www/system/engine/proxy.php(47): Loader->{closure}(Array, Array) #4 /home/invafish/invafishki.shop/www/storage/modification/admin/model/catalog/product.php(314): Proxy->__call('addProductOptio...', Array) #5 /home/invafish/invafishki.shop/www/storage/modifica in /home/invafish/invafishki.shop/www/system/library/db/mysqli.php on line 42 В чому може бути проблема? Здравствуйте. В товаре в админ зоне или в товаре на витрине? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchelav Опубликовано: 29 ноября 2021 Опубликовано: 29 ноября 2021 4 часа назад, NeoSeo Help 4 сказал: Здравствуйте. В товаре в админ зоне или в товаре на витрине? При виборі в опції товару в адмін зоні сайту та спробі зберегти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sign99 Опубликовано: 30 ноября 2021 Опубликовано: 30 ноября 2021 (изменено) Дополню, так как столкнулся с той же ошибкой. Установлен чистый ocStore 3.0.3.7, установлен по инструкции (сначала файлы, потом через админку, но на system_test.php все равно ругается на то, что недоступен для записи) модуль связанные опции для oc3.0 версия 26. Созданы 2 опции: Размер лодки и Устанавливать тент Создана связанная опция Тест с установкой. Создан новый товар и ему прописаны Опции PRO. В таком варианте все работает. Далее, созданы еще 2 группы покупателей: Розница и Опт. При попытке сохранения Опции PRO с тремя группами покупателей админка вылетае с 500 ошибкой: Fatal error: Uncaught Exception: Error: Duplicate entry '4' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_option_pro_price SET product_option_pro_value_id = '4', product_id = '50', customer_group_id = '3', price = '2' in W:\domains\oc.loc\system\library\db\mysqli.php:41 Stack trace: #0 W:\domains\oc.loc\system\library\db.php(45): DB\MySQLi->query() #1 W:\domains\oc.loc\admin\model\tool\neoseo_product_options_pro.php(266): DB->query() #2 W:\domains\oc.loc\oc-storage\modification\system\engine\loader.php(248): ModelToolNeoSeoProductOptionsPro->addProductOptions() #3 W:\domains\oc.loc\system\engine\proxy.php(47): Loader->{closure}() #4 W:\domains\oc.loc\oc-storage\modification\admin\model\catalog\product.php(276): Proxy->__call() #5 W:\domains\oc.loc\oc-storage\modification\system\engine\loader.php(248): ModelCatalogProduct->editProduct() #6 W:\domains\oc.loc\system\engine\proxy.php(47): Loader->{closure}() #7 W:\domains\oc.loc\oc-storage\modification\admin\controller in W:\domains\oc.loc\system\library\db\mysqli.php on line 41 Сохраняется только первая опция и цена для первой группы. При редактировании товара отображается ворнинг: Notice: Undefined index: options in W:\domains\oc.loc\admin\model\tool\neoseo_product_options_pro.php on line 119Warning: Invalid argument supplied for foreach() in W:\domains\oc.loc\oc-storage\modification\admin\controller\catalog\product.php on line 1452 Изменено 30 ноября 2021 пользователем Sign99 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 1 Опубликовано: 1 декабря 2021 Опубликовано: 1 декабря 2021 28.11.2021 в 00:49, pchelav сказал: Добрий день! Все налаштував, але після активації в товарі отримую помилку: Fatal error: Uncaught Exception: Error: Duplicate entry '5' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_option_pro_price SET product_option_pro_value_id = '5', product_id = '507', customer_group_id = '2', price = '0' in /home/invafish/invafishki.shop/www/system/library/db/mysqli.php:42 Stack trace: #0 /home/invafish/invafishki.shop/www/system/library/db.php(45): DB\MySQLi->query('INSERT INTO oc_...') #1 /home/invafish/invafishki.shop/www/admin/model/tool/neoseo_product_options_pro.php(266): DB->query('INSERT INTO oc_...') #2 /home/invafish/invafishki.shop/www/storage/modification/system/engine/loader.php(267): ModelToolNeoSeoProductOptionsPro->addProductOptions(Array, '507') #3 /home/invafish/invafishki.shop/www/system/engine/proxy.php(47): Loader->{closure}(Array, Array) #4 /home/invafish/invafishki.shop/www/storage/modification/admin/model/catalog/product.php(314): Proxy->__call('addProductOptio...', Array) #5 /home/invafish/invafishki.shop/www/storage/modifica in /home/invafish/invafishki.shop/www/system/library/db/mysqli.php on line 42 В чому може бути проблема? Доброго дня. Ця помилка вказує на те, що у Вас при спробі записати створені опції в базу данних виникає дубль значення. Чи не могли би Ви надіслати скрін структури таблиці бази данних oc_product_option_pro_price? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 1 Опубликовано: 1 декабря 2021 Опубликовано: 1 декабря 2021 30.11.2021 в 13:47, Sign99 сказал: Дополню, так как столкнулся с той же ошибкой. Установлен чистый ocStore 3.0.3.7, установлен по инструкции (сначала файлы, потом через админку, но на system_test.php все равно ругается на то, что недоступен для записи) модуль связанные опции для oc3.0 версия 26. Созданы 2 опции: Размер лодки и Устанавливать тент Создана связанная опция Тест с установкой. Создан новый товар и ему прописаны Опции PRO. В таком варианте все работает. Далее, созданы еще 2 группы покупателей: Розница и Опт. При попытке сохранения Опции PRO с тремя группами покупателей админка вылетае с 500 ошибкой: Fatal error: Uncaught Exception: Error: Duplicate entry '4' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_option_pro_price SET product_option_pro_value_id = '4', product_id = '50', customer_group_id = '3', price = '2' in W:\domains\oc.loc\system\library\db\mysqli.php:41 Stack trace: #0 W:\domains\oc.loc\system\library\db.php(45): DB\MySQLi->query() #1 W:\domains\oc.loc\admin\model\tool\neoseo_product_options_pro.php(266): DB->query() #2 W:\domains\oc.loc\oc-storage\modification\system\engine\loader.php(248): ModelToolNeoSeoProductOptionsPro->addProductOptions() #3 W:\domains\oc.loc\system\engine\proxy.php(47): Loader->{closure}() #4 W:\domains\oc.loc\oc-storage\modification\admin\model\catalog\product.php(276): Proxy->__call() #5 W:\domains\oc.loc\oc-storage\modification\system\engine\loader.php(248): ModelCatalogProduct->editProduct() #6 W:\domains\oc.loc\system\engine\proxy.php(47): Loader->{closure}() #7 W:\domains\oc.loc\oc-storage\modification\admin\controller in W:\domains\oc.loc\system\library\db\mysqli.php on line 41 Сохраняется только первая опция и цена для первой группы. При редактировании товара отображается ворнинг: Notice: Undefined index: options in W:\domains\oc.loc\admin\model\tool\neoseo_product_options_pro.php on line 119Warning: Invalid argument supplied for foreach() in W:\domains\oc.loc\oc-storage\modification\admin\controller\catalog\product.php on line 1452 Здравствуйте, у Вас аналогичная проблема, как и у пользователя выше. Скорее всего, в таблице базы данных product_option_pro_price у Вас установлен индекс PRIMARY для столбца product_option_pro_value_id. Цитата При редактировании товара отображается ворнинг: Notice: Undefined index: options in W:\domains\oc.loc\admin\model\tool\neoseo_product_options_pro.php on line 119Warning: Invalid argument supplied for foreach() in W:\domains\oc.loc\oc-storage\modification\admin\controller\catalog\product.php on line 1452 От модуля опций ПРО вижу только нотис, ворнинг указывает на модифицированный файл. Какой модуль добавляет эту строку? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchelav Опубликовано: 1 декабря 2021 Опубликовано: 1 декабря 2021 1 час назад, NeoSeo Help 1 сказал: Доброго дня. Ця помилка вказує на те, що у Вас при спробі записати створені опції в базу данних виникає дубль значення. Чи не могли би Ви надіслати скрін структури таблиці бази данних oc_product_option_pro_price? Так, долучаю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 4 Опубликовано: 1 декабря 2021 Опубликовано: 1 декабря 2021 Только что, pchelav сказал: Так, долучаю Изображение не доступно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchelav Опубликовано: 1 декабря 2021 Опубликовано: 1 декабря 2021 59 минут назад, NeoSeo Help 4 сказал: Изображение не доступно Дивно, повторно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sign99 Опубликовано: 2 декабря 2021 Опубликовано: 2 декабря 2021 14 часов назад, NeoSeo Help 1 сказал: От модуля опций ПРО вижу только нотис, ворнинг указывает на модифицированный файл. Какой модуль добавляет эту строку? Судя по всему эту строку добавляет модуль Neoseo Product Options PRO /* Neoseo Product Options PRO - begin */ $this->load->language('catalog/neoseo_product_options_pro_product'); $data['entry_option_articul'] = $this->language->get('entry_option_articul'); $data['entry_option_model'] = $this->language->get('entry_option_model'); $data['tab_neoseo_option'] = $this->language->get('tab_neoseo_option'); $data['tab_image_option'] = $this->language->get('tab_image_option'); $data['text_selected_displayed'] = $this->language->get('text_selected_displayed'); $data['text_option_priority'] = $this->language->get('text_option_priority'); $data['text_use_options_pro'] = $this->language->get('text_use_options_pro'); $data['text_option'] = $this->language->get('text_option'); $data['text_priority'] = $this->language->get('text_priority'); $data['text_option_value'] = $this->language->get('text_option_value'); $data['text_image'] = $this->language->get('text_image'); $this->load->language('catalog/neoseo_product_options_pro'); $data['entry_base_price'] = $this->language->get('entry_base_price'); if($this->config->get('neoseo_product_options_pro_product_base_price') == 1){ $data['base_price_status'] = true; }else{ $data['base_price_status'] = false; } if($this->config->get('neoseo_product_options_pro_status') == 1) { $this->load->model('tool/neoseo_product_options_pro'); $options_pro = array(); $options = $this->model_catalog_option->getOptions(); $options_pro_list = $this->model_tool_neoseo_product_options_pro->getOptions(); if($options_pro_list) { foreach ($options_pro_list as $product_option_pro) { $regular_options = $this->model_tool_neoseo_product_options_pro->getOptionsKit($product_option_pro['product_option_pro_id']); $options_pro[$product_option_pro['product_option_pro_id']]['name'] = $product_option_pro['name']; $options_pro[$product_option_pro['product_option_pro_id']]['options'] = $regular_options; } } $data['options'] = array(); $data['related_options'] = array(); foreach ($options as $option) { foreach ($options_pro as $product_option_pro_id => $product_option_pro) { if (in_array($option['option_id'], $product_option_pro['options'])) { $data['related_options'][$product_option_pro_id][] = array( 'option_id' => $option['option_id'], 'name' => $option['name'] ); } $option['option_values'] = array(); $option_values = $this->model_catalog_option->getOptionValues($option['option_id']); if($option_values){ foreach ($option_values as $option_value) { $option['option_values'][$option_value['option_value_id']] = $option_value; } } } $data['options'][$option['option_id']] = $option; } $get_options_images = $this->model_tool_neoseo_product_options_pro->getProductOptionsImages($this->request->get['product_id']); $data['option_images'] = $get_options_images; $data['product_options_pro'] = array(); $data['product_options_images'] = array(); $option_pro_data = $this->model_tool_neoseo_product_options_pro->getProductOptions($this->request->get['product_id']); if($option_pro_data) { $data['product_options_pro'] = $option_pro_data; } if(isset($option_pro_data['product_option_pro_id']) && isset($options_pro[$option_pro_data['product_option_pro_id']])) { $option_pro_image_data['options'] = array(); $option_pro_image_data['name'] = $options_pro[$option_pro_data['product_option_pro_id']]['name']; $option_pro_image_data['product_option_pro_id'] = $option_pro_data['product_option_pro_id']; foreach ($option_pro_data['option_rows'] as $option_row_key => $option_row_data) { $names = array(); foreach ($option_row_data['options'] as $option_id_key => $option_value_id) { $names[] = $data['options'][$option_id_key]['option_values'][$option_value_id]['name']; } $option_row_data['name'] = implode(' + ', $names); $option_pro_image_data['options'][$option_row_key] = $option_row_data; } $data['product_options_images'] = $option_pro_image_data; } $data['options_pro'] = $options_pro; $data['product_options_status'] = true; } else { $data['product_options_status'] = false; } /* Neoseo Product Options PRO - end */ Ругается на строку foreach ($option_row_data['options'] as $option_id_key => $option_value_id) { Цитата Скорее всего, в таблице базы данных product_option_pro_price у Вас установлен индекс PRIMARY для столбца product_option_pro_value_id. Да, так и есть, видимо при установке модуля было так задано, руками ничего не менял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchelav Опубликовано: 2 декабря 2021 Опубликовано: 2 декабря 2021 @NeoSeo Help 4 а яке значення стовпця має бути чи що треба зробити? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 4 Опубликовано: 4 декабря 2021 Опубликовано: 4 декабря 2021 02.12.2021 в 21:16, pchelav сказал: @NeoSeo Help 4 а яке значення стовпця має бути чи що треба зробити? Добрый день. Протестировали, похожей ошибки не обнаружено. Нужно тестировать непосредственно у Вас на проекте. Для получения оценки напишите в Телеграм-чат https://t.me/WebStudioNeoSeo1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 4 Опубликовано: 4 декабря 2021 Опубликовано: 4 декабря 2021 02.12.2021 в 09:44, Sign99 сказал: Ругается на строку Добрый день. Нужно тестировать у Вас на проекте, почему именно возникает данная ошибка. Для получения оценки напишите в Телеграм-чат https://t.me/WebStudioNeoSeo1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sign99 Опубликовано: 8 декабря 2021 Опубликовано: 8 декабря 2021 (изменено) 02.12.2021 в 23:16, pchelav сказал: а яке значення стовпця має бути чи що треба зробити? В таблице oc_product_option_pro_price удалил ключ PRIMARY (не поле). Создал новый уникальный ключ на три поля: После этого исчезла ошибка и заработали опции. Изменено 8 декабря 2021 пользователем Sign99 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 1 Опубликовано: 8 декабря 2021 Опубликовано: 8 декабря 2021 7 часов назад, Sign99 сказал: В таблице oc_product_option_pro_price удалил ключ PRIMARY (не поле). Создал новый уникальный ключ на три поля: После этого исчезла ошибка и заработали опции. Рады, что Ваша проблема решена, будут вопросы - обращайтесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchelav Опубликовано: 27 декабря 2021 Опубликовано: 27 декабря 2021 Вітаю! Виявив іншу проблему - при виборі опції в товарі не змінюється нічого, тільки перший створений фактично є доступним. При тому на самому сайті після першого вибору воно підвисає і фактично змінити вибір без перезавантаження сторінки неможливо. В чому може бути справа? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NeoSeo Help 1 Опубликовано: 27 декабря 2021 Опубликовано: 27 декабря 2021 2 часа назад, pchelav сказал: Вітаю! Виявив іншу проблему - при виборі опції в товарі не змінюється нічого, тільки перший створений фактично є доступним. При тому на самому сайті після першого вибору воно підвисає і фактично змінити вибір без перезавантаження сторінки неможливо. В чому може бути справа? Доброго дня. Перейдіть до файлу admin/view/template/catalog/neoseo_product_options_pro_image.twig, знайдіть у ньому строку let options = {{ sort_options|json_encode() }}; та замініть її на let options = {{ options|json_encode() }}; Або можете скачати актуальну версію модуля з Вашого особистого кабінету та оновити його на сайті, ця проблема там вже виправлена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Александр Борисович Опубликовано: 24 декабря 2022 Опубликовано: 24 декабря 2022 08.12.2021 в 09:55, Sign99 сказал: В таблице oc_product_option_pro_price удалил ключ PRIMARY (не поле). Создал новый уникальный ключ на три поля: После этого исчезла ошибка и заработали опции. Столкнулся с аналогичной проблемой, подскажи пожалуйста, как правильно удалить этот ключ и как потом создать ключ на три поля? Чуть поподробнее, так как я в этом не очень понимаю, как это правильно сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.