Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

ocStore 3.0.3.7 - Модифицированный OpenCart


Recommended Posts

Добрый день. Простите если не в той теме написал

хочу скопировать товар  - ставлю галочку на товар - нажимаю копировать и выходит ошибка 

----------

Fatal error: Uncaught Exception: Error: Duplicate entry '99-002' for key 'IDX_KEY1C'<br />Error No: 1062<br />INSERT INTO oc_product SET model = '99-002', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '0', stock_status_id = '7', date_available = '2021-10-04', manufacturer_id = '0', shipping = '1', price = '500', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '0', noindex = '0', tax_class_id = '0', sort_order = '1', date_added = NOW(), date_modified = NOW() in /sata2/home/users/triumphsh/www/www.triumph-shop.dn.ua/system/library/db/mysqli.php:41 Stack trace: #0 /sata2/home/users/triumphsh/www/www.triumph-shop.dn.ua/system/library/db.php(45): DB\MySQLi->query('INSERT INTO oc_...') #1 /sata2/home/users/triumphsh/www/www.triumph-shop.dn.ua/admin/model/catalog/product.php(7): DB->query('INSERT INTO oc_...') #2 /sata2/home/users/triumphsh/www/www.triumph-shop.dn.ua/admin/model/cata in /sata2/home/users/triumphsh/www/www.triumph-shop.dn.ua/system/library/db/mysqli.php on line 41

-------

Можете направить меня, что делать? очень не хочется все товары в ручную, хотя-бы  копировать....

Заранее спасибо

Надіслати
Поділитися на інших сайтах


3 минуты назад, Vintos3 сказал:

Добрый день. Простите если не в той теме написал

хочу скопировать товар  - ставлю галочку на товар - нажимаю копировать и выходит ошибка 

У вас не чистый движок.

3 минуты назад, Vintos3 сказал:

for key 'IDX_KEY1C'

Похоже какой-то модуль докинул индекс без повторов на поле model. Судя по названию какой-то не очень "умный" модуль для 1С.

  • +1 1
Надіслати
Поділитися на інших сайтах

10 часов назад, mpn2005 сказал:

Похоже какой-то модуль докинул индекс без повторов на поле model. Судя по названию какой-то не очень "умный" модуль для 1С.

СПАСИБО! Да, у меня чистый ocstore и всего один модуль для связки с 1с. Буду писать в их поддержку!

Надіслати
Поділитися на інших сайтах


3 часа назад, AlektroNik сказал:

Всем привет.
Подскажите, пожалуйста, раньше можно было свернуть навигационную панель ...
Теперь нет и не будет этой фишки? Фишка то полезная ... 

Здесь обсуждалось

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Читал много очень просьб к создателю опенкарт Дэниелу Керру. Так вот большую часть он просто игнорирует.

Там , где отвечал всё сводится к тому что "мне нравится так"...

Надіслати
Поділитися на інших сайтах

31 минуту назад, Tom сказал:

Читал много очень просьб к создателю опенкарт Дэниелу Керру. Так вот большую часть он просто игнорирует.

Там , где отвечал всё сводится к тому что "мне нравится так"...

На этот случай у нас есть @dinox )))


Коллеги, не пойму, а "Редактор перевода" не работает что ли?
Путался несколько переводов переназначить толку ноль.
image.thumb.png.9b77e7a5311731903b754c3675b8e28d.png

image.png.216f1d4574716aecfd139c30f51b484a.png

Змінено користувачем AlektroNik
Надіслати
Поділитися на інших сайтах


@Tom @mpn2005 Коллеги, помогите, пожалуйста. 😭😭😭 У меня тут волосы дыбом встали когда начал изучать запросы в корзине.
 

Начал разбираться почему у меня страница оформления заказа грузиться аж 1800 мс.
 
►► Страница: /index.php?route=checkout/simplecheckout
   Время генерации: ~1800.01мс 
   К-во запросов: 2440 
 
В корзине лежит всего 6 товаров.
 
Заметил там аж 2440 запросов. Откровенно ужаснулся ... в корзине всего 6 товаров лежит.
Больше всего запросов идет от storage/modification/system/library/cart/cart.php → getProducts    -     2257 запросов
 
В запросах фигурируют таблицы: Кол-во запросов
oc_recurring 732
oc_product_to_store 372
oc_product_discount 372
oc_product_special 372
oc_product_reward 372
oc_product_to_download 366
oc_cart 67
ИТОГО: 2653
Запросов по итогу больше только из-за того что oc_recurring может содержаться в одном запросе несколько раз.
 
Допустим этот запрос повторяется 61 раз ... ЭТО ЖЕСТЬ!!!
SELECT * FROM oc_product_to_store p2s LEFT JOIN oc_product p ON (p2s.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) WHERE p2s.store_id = '0' AND p2s.product_id = '1361' AND pd.language_id = '1' AND p.date_available <= NOW() AND p.status = '1'
 
Можете подсказать это нормально? Запросы хоть и быстрые, меньше 1 мс, но их что-то больно много.
Надіслати
Поділитися на інших сайтах


52 минуты назад, AlektroNik сказал:

getProducts

В корзине Это самая большая боль
А если еще и доставки оплаты  лезут туда

 

Надіслати
Поділитися на інших сайтах

36 минут назад, chukcha сказал:

В корзине Это самая большая боль
А если еще и доставки оплаты  лезут туда

 

34 минуты назад, nikifalex сказал:

ну вы на правильному пути. это не нормально, но для опенкарта есть уже много модулей решающих эти проблемы.

 

Коллеги, буду очень благодарен, если подскажите рабочее проверенное решение 🤗🍻
Хотя бы как правильно на гуглить эти модули. Какой нибудь "кешер корзины opencart" или как?

 

Странно, что модуль Simple не имеет никаких доработок в этой области. На него была надежда. 😭

 

Вот один модуль вроде нашел.

 

Змінено користувачем AlektroNik
Добавил модуль
Надіслати
Поділитися на інших сайтах


1 минуту назад, AlektroNik сказал:

. Какой нибудь "кешер корзины opencart"

именно
но на самом деле - две три строчки

 

Надіслати
Поділитися на інших сайтах

@chukcha @nikifalex
Автор вот этого модуля пишет "кэш хранится в сессии на стороне сервера(очевидно)"
https://opencartforum.com/files/file/6115-cart-cache-kjeshiruem-korzinu-cartphp-getproducts/?tab=details
Можете подсказать на сколько данное решение правильно?
Немного пугает что в теме поддержки он не особо отвечает и т. д.

 

Надіслати
Поділитися на інших сайтах


18 минут назад, AlektroNik сказал:

@chukcha @nikifalex
Автор вот этого модуля пишет "кэш хранится в сессии на стороне сервера(очевидно)"
https://opencartforum.com/files/file/6115-cart-cache-kjeshiruem-korzinu-cartphp-getproducts/?tab=details
Можете подсказать на сколько данное решение правильно?
Немного пугает что в теме поддержки он не особо отвечает и т. д.

 

кеш хранится тут $this->cache

в зависимости от настроек магазина может хранится в файлах на жестком диске или в оперативной памяти (memcache)

для этой версии окстор проблема никак не кэшированной корзины к сожалению все еще актуальна

  • +1 1
Надіслати
Поділитися на інших сайтах

Добрый день.

Подскажите:

1.  в старой версии, в админке  в разделе товары, фильтр категорий был вверху , в версии 3.0 теперь слева, возможно перенести его вверх? (скрин ниже)
ScreenShot011.jpg.3a18dcaaf6e1d7f100d46014bffeb828.thumb.jpg.9a4faf6c359b094f6525b8928e28f8de.jpg
ScreenShot010.jpg.15874e68e05a352ac6294a1e41ef8b07.jpg.aa1926758846a208a08bb279a3f5051a.jpg



2. не пойму почему не подтягиваются все категории и нужно только ручками вбивать каждую, и когда набираешь название то не помещается весь текст.   (скрин ниже)


ScreenShot012.jpg.7aed96e77d54d2e7e3e3357ca3fe982e.thumb.jpg.8052f704f4cd554a5a349d7a5ce3f433.jpg

Надіслати
Поділитися на інших сайтах


8 часов назад, Tashkan сказал:

1.  в старой версии, в админке  в разделе товары, фильтр категорий был вверху , в версии 3.0 теперь слева, возможно перенести его вверх?

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

9 часов назад, Tashkan сказал:

1.  в старой версии, в админке  в разделе товары, фильтр категорий был вверху , в версии 3.0 теперь слева, возможно перенести его вверх? (скрин ниже)

Попробуйте в admin\view\template\catalog\product_list.twig изменить
<div id="filter-product" class="col-md-3 col-md-push-9 col-sm-12 hidden-sm hidden-xs">
на
<div id="filter-product" class="col-md-12 col-sm-12 hidden-sm hidden-xs">
и 
<div class="col-md-9 col-md-pull-3 col-sm-12">
в примерно 234 строке на
<div class="col-md-12 col-sm-12">

  • +1 1
Надіслати
Поділитися на інших сайтах


Печаль беда в логике модуля ocstore 

Параметры:

Выводить тег canonical на основную страницу

и

Вывести prev, next теги для пагинации

 

Эти два параметра не могут работать одновременно т.к. используется стандартный метод простановки ссылок:

$this->document->addLink

А он умеет только 1 ссылку уникальную принимать и из-за этого canonical на второй странице заменяется на prev т.к. ссылки одинаковые. Чтобы это всё работало одновременно надо переделывать логику работу функции $this->document->addLink

 

Ну или просто отключать вторую функцию с prev,next которые по сути не важны уже.

Змінено користувачем LEOnidUKG
Надіслати
Поділитися на інших сайтах


3 минуты назад, LEOnidUKG сказал:

Печаль беда в логике модуля ocstore 

Параметры:

Выводить тег canonical на основную страницу

и

Вывести prev, next теги для пагинации

 

Эти два параметра не могут работать одновременно т.к. используется стандартный метод простановки ссылок:

$this->document->addLink

А он умеет только 1 ссылку уникальную принимать и из-за этого canonical на второй странице заменяется на prev т.к. ссылки одинаковые. Чтобы это всё работало одновременно надо переделывать логику работу функции $this->document->addLink

 

Попробуйте с настройками магазина на вкладке SeoPro поиграться.
image.png.56d9196f89bce25f1a12206a80c8f033.png
 

Надіслати
Поділитися на інших сайтах


Зачем, мне играться с чем либо, если я код весь пересмотрел? Да, надо выключить prev,next т.к. он не правильно работает.

Змінено користувачем LEOnidUKG
Надіслати
Поділитися на інших сайтах


Соскучились по багам? А они есть у меня ещё. Не правильно формируется SEO урл для статей в блогах. Не учитывается категория, хотя в настройках выставлено учитывать её. Так же не правильно формируется кэш категорий блогов.  С кэшем вообще беда какая-то в этой версии.

Поехали исправлять:

/system/library/seopro.php

1.

Ищем код:

                    if (isset($data['blog_category_id'])) {
                        $blog_path = $this->getBlogPathByArticle($article_id);
                    }

Меняем на:

$blog_path = $this->getBlogPathByArticle($article_id);

 

2.

Ищем код:

        if (!is_array($blog_path)) {
            if ($this->config->get('config_seo_url_cache'))
                $blog_path = $this->cache->get($cache);
            if (!is_array($blog_path))
                $blog_path = [];
        }

Меняем на:

            if ($this->config->get('config_seo_url_cache')) {
                $blog_path = $this->cache->get($cache);
			}
			
            if (!is_array($blog_path)) {
                $blog_path = [];
			}

В первом случаи мы убираем проверку т.к. нам всегда важно знать есть ли категория, для формирования урлов.

Во втором случаи не понятная проверка на массив, хотя выше уже объявляется, что переменная массив. Скорее всего хотели проверить что-то другое, но вышло как есть.

p.s. кидал на git хаб, там от разработчика 0 внимания, а тут хоть народ читает.

Змінено користувачем LEOnidUKG
  • +1 1
Надіслати
Поділитися на інших сайтах


Если в админке, в фильтре Категории - выбрать --- Без Категории --- , параметр в адресной строке &filter_category=0 - получаем в итоге SQL запрос, в котором у product_id будет NULL . В итоге в ссылку на редактирования у product_id будет ничего.

 

Проблема в операторе * в этом методе
https://github.com/ocStore/ocStore/blob/081abd992c24e2b415b2d85812fd430769c4ede0/upload/admin/model/catalog/product.php#L428

  • +1 1
Надіслати
Поділитися на інших сайтах


Смысл понятен.

В файле: /admin/model/catalog/product.php

 

Ищем строчку:

$sql = $sql_crutch_matches[1] . " LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id)" . $sql_crutch_matches[2];

После неё вставляем:

$sql = str_replace('SELECT *','SELECT p.*',$sql);

Иначе у нас mysql теряется из какой таблице нам нужны данные.

Змінено користувачем LEOnidUKG
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.