Jump to content

Muvka

Пользователи
  • Content Count

    155
  • Joined

  • Last visited

Community Reputation

6 Обычный

1 Follower

About Muvka

  • Rank
    Продвинутый пользователь

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Разобрался. Я группе пользователей Administrator разрешил просматривать и редактировать promotion модуль. А он видимо технический какой то. У него нет языкового файла даже)
  2. Т.е. у вас этого пункта в меню вообще нет?
  3. Только заметил. Это у меня какая то проблема или в последней версии OC у всех она?
  4. Всем спасибо. Проблема была в том, что форма 2 раза отправлялась.
  5. Это стандартный код OC. Я тут ничего не менял. И проблема не только в этой таблице. Просто в опциях первой отказывает.
  6. Дополнение. Добавлял sleep после удаления опций товара из БД и да, они все же удаляются. Но все равно ругается, хотя в первичном ключе такого значения уже нет... Что такое может быть и как поправить?
  7. Периодически, при сохранении товара, возникает такая ошибка Fatal error: Uncaught Exception: Error: Duplicate entry '244' for key 'PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_product_option SET product_option_id = '244', product_id = '63', option_id = '14', required = '1' Насколько это опасно и возможно ли как-то исправить? Смотрю модифицированный файл - все в норме - сначала идет удаление, а потом добавление в данную таблицу $this->db->query("DELETE FROM " . DB_PREFIX . "product_option WHERE product_id = '" . (int)$product_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$product_id . "'"); if (isset($data['product_option'])) { foreach ($data['product_option'] as $product_option) { if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') { if (isset($product_option['product_option_value'])) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_option_id = '" . (int)$product_option['product_option_id'] . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', required = '" . (int)$product_option['required'] . "'"); $product_option_id = $this->db->getLastId(); foreach ($product_option['product_option_value'] as $product_option_value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_value_id = '" . (int)$product_option_value['product_option_value_id'] . "', product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', option_value_id = '" . (int)$product_option_value['option_value_id'] . "', quantity = '" . (int)$product_option_value['quantity'] . "', option_default = '" . (int)$product_option_value['option_default'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', price_prefix = '" . $this->db->escape($product_option_value['price_prefix']) . "', points = '" . (int)$product_option_value['points'] . "', points_prefix = '" . $this->db->escape($product_option_value['points_prefix']) . "', weight = '" . (float)$product_option_value['weight'] . "', weight_prefix = '" . $this->db->escape($product_option_value['weight_prefix']) . "'"); } } } else { $this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_option_id = '" . (int)$product_option['product_option_id'] . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', value = '" . $this->db->escape($product_option['value']) . "', required = '" . (int)$product_option['required'] . "'"); } } }
  8. Угловые скобки поменять на правильные) Они сейчас перевернуты.
  9. {% endfor % не закрыли на 13 строке.
  10. Даже не знаю. Вряд ли часто. Но то, что много - это точно.
  11. Ищу советов. Нужно сделать страницу-галерею, в которой будут вверху фотки, под ними слайдер с видео, а под ним кнопка, которая будет подгружать еще фото. Страницы делать умею, загрузчик видео аховый склепал. Но у меня вопрос, как хранить фотки и видео. Лучше хранить в oc_settings, как слайды или создать свою таблицу? Или лучше создать 2 таблицы - одну под видео, а другую под фото? Просто у видео будет лишний столбец, для постера. Или лучше уместить все в одну таблицу? Или принципиальной разницы нет? Спасибо.
  12. Пытаюсь написать загрузчик видеофайлов, похожий на загрузку изображений, но отдельный. Проблема вот в чем - надо править common.js в админ части. Модификатором правится нормально, но проблема в том, что в шапке не подключается js файл из папки модификаций. А сама папка модов может быть в разных местах, из-за чего правка пути невозможна. Пришла идея добавить отдельным js файлом, но тоже нет - нужно одну строчку в common.js изменить. Остается вариант полной замены common.js при установке мода - но это тоже плохо. Подскажите, может еще какие варианты есть?
  13. Нашел проблему. У меня форма обновлялась даже если уже делался заказ. Из-за этого устанавливалась заново часть сессии. if(!json['error'] && !json['warning']) { Checkout.reloadForm(); if(json['confirm']) { Checkout.confirmOrder(); } } Заменил на if(!json['error'] && !json['warning']) { if(json['confirm']) { Checkout.confirmOrder(); } else { Checkout.reloadForm(); } } Извините за беспокойство. Просто отчаялся уже решить проблему. И у меня всегда так, только задам вопрос, как нахожу решение.
  14. Вот тут в сессии order_id еще есть - http://prntscr.com/n2ao7n . Это контроллер checkout/confirm.php А тут уже нет, причем именно только order_id нет, остальное все в сессии есть. Это уже контроллер модуля оплаты - http://prntscr.com/n2aoz4
  15. Пытаюсь переписать чекаут. Та еще задачка). У меня вопрос. Иногда, при заказе пропадает $this->session->data['order_id']. Ругается модуль оплаты, который вызывает метод addOrderHistory и пишет, что данная переменная не установлена. Сам unset нигде не ставил, по дефолту есть только в login, logout и success контроллерах. Первые два никак не могут сработать, а последний вызывается после метода addOrderHistory. Я поставил логгер, который записывает в файл значение сессии сразу после $this->session->data['order_id'] = $this->model_checkout_order->addOrder($order_data); в контроллере checkout/confirm.php, где эта переменная и устанавливается. И она в сессии есть! Т.е. заказ нормально создается, возвращается id заказа и записывается в сессию. Ниже по коду в checkout/confirm.php ничего не менял. А там сразу идет вывод представления модуля заказа, в котором нажимается кнопка оформления заказа. Может кто сталкивался? Где нужно копать.
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.