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

shchs

Користувачі
  
  • Публікації

    528
  • З нами

Усі публікації користувача shchs

  1. Еще просьба сделать что-то с "catalog/controller/common/cart.php". Идет пересчет всех "итогов" даже если корзина пуста и там нет ни товаров ни подарочных сертификатов, что само по себе бессмысленно, а в тоже время соответственно тянет за собой еще дополнительные запросы и запросы. Нужно обыграть это всё на подобии того, как сделано в "controller/checkout/cart.php" через: if ($this->cart->hasProducts() || !empty($this->session->data['vouchers'])) { если выкрою время предложу пул-реквест, в любом случае просьба не упустить этот момент
  2. В теории вы наверное правы, но операций записи будет в сотни раз меньше чем операций чтения, которые несколько раз присутствуют при каждом открытии страницы и даже при добавлении товара в корзину, сначала идет чтение из нее в попытке найти есть ли там такой уже. Поэтому вопрос тут философский и как оно будет на практике, пока не понятно.
  3. Ровно такой же, как перенос моделей доставки, оплаты в папку "extension", а "library/cart.php" в "library/cart/cart.php" вместе с "customer.php", "length.php" и т.д. То есть смысла никакого, но движуха создается.
  4. Баг при удалении товара из корзины с включенным seopro связан с тем, что функция getURLVar в common.js заточена для разбора не сео урла, а сео урл она не понимает, поэтому функция удаления срабатывает не правильно, она не видит, что мы сейчас на страницы корзины и не перезагружает страницу. Нужно либо убрать сео урл у корзины, либо модифицировать функцию getURLVar.
  5. Еще с переводом немного надо поправить, на гит сегодня зайти не могу, поэтому в таком виде: http://prnt.sc/cz7p40 http://prnt.sc/cz7pve http://prnt.sc/cz7q42 http://prnt.sc/cz7qiy http://prnt.sc/cz7qry И перевод подсказки у статусов заказов в обработке надо поправить, а то смысл не правильный.
  6. Если еще не исправили, подтверждаю, такой таблицы при чистой установке нет!
  7. Добавить в admin/model/sale/order.php public function getCountOrderProducts($order_id) { $query = $this->db->query("SELECT SUM(quantity) AS total FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); return $query->row['total']; } и в тот же файл, до return array( добавить $count_products = $this->getCountOrderProducts($order_id); а после => $order_query->row['order_id'], добавить 'count_products' => $count_products,
  8. Ну в этом и ошибка, если у вас "AjaxUpload" обращается к "index.php?route=module/feedback/feedback" вместо нужной функции "upload" предположу что для него в "action" должно быть "index.php?route=module/feedback/upload"
  9. Вы где-то задаете, $action ? action: '<?php echo $action; ?>' Откройте консоль, что там пишут?
  10. При публикации модуля, разработчик должен указать: 1. урл для активации 2. пароль для проверки подлинности 3. возможна ли активация на тестовый домен При этом разработчику система сообщается id дополнения. ----------------------------------------- При покупке клиент вводит свой домен и, если разрешено, тестовый домен. ----------------------------------------- После оплаты, идет POST на сервер активации разработчика, содержащий: 0. id запроса (генерирует каталог, уникален, чтобы соотносить между собой запросы и ответы каталога и сервера активации) 1. id дополнения 2. md5(пароль) 3. ник покупателя 4. email покупателя 5. datetime покупки 6. домен для активации 7. тест домен (если разрешено) Сервер активации сравнивает хеши паролей и при совпадении, идет активация. Тут уж как у кого сделано, либо ключ автоматом уходит на емаил покупателя, либо добавляется соотв.запись в базу, но не принципиально и не важно. На POST, сервер активации выдает простой ответ, не надо xml и других усложнений, достаточно просто $this->response->setOutput($otvet), содержащий: 0. id запроса (берется из запроса каталога) 1. id дополнения (не обязательно, но для облегчения поиска проблем не помешает) 2. статус активации (1 - все хорошо, 2 - не хорошо, пароли не совпали и т.д. и т.п.) $otvet = '0|1|2';
  11. Если у вас вторая версия, то нужно зайти в админке в менеджер дополнений и нажать "обновить".
  12. Что касается выплат, вообще хотелось бы видеть некую оборотную ведомость по движению на счете, когда и сколько пришло и ушло. А то сейчас имеем сумму на счете и как она формируется не видно. Не видно сколько и когда выплачено, сколько и когда начислено. Мне показалось что последняя выплата не соответствует заявке на пару сотен, но возможно мне это приснилось, а как проверить, если письмо не сохранилось? И почему в списке продаж некоторые продажи стоят с суммой 0? Это глюк или реально на счет ничего не упало? Не понятно... А была бы оборотка, было бы все прозрачно и видно.
  13. 1. в common.js функция add не работает для страницы с товаром, не забывайте об этом. 2. $('#cart > button') - насколько видно из кода вы вставляете button и он прямой потомок .alert-success, а не #cart 3. #ps_cart_p - один на странице?
  14. catalog/view/javascript/common.js function addToCart..... ................................... if (json['success']) { //оставляем только это: location = 'index.php?route=checkout/checkout'; } .................................... catalog/view/theme/default/template/product/product.tpl $('#button-cart').bind('click', function() {........ ..................................................................... if (json['success']) { //оставляем только это: location = 'index.php?route=checkout/checkout'; } ....................................
  15. Сначала вам нужно выполнить команду в phpMyadmin: ALTER TABLE `oc_category` ADD `image2` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `image`; oc_ - префикс, корректируем если отличается от вашего. Потом admin/model/catalog/category.php после: if (isset($data['image'])) { $this->db->query("UPDATE " . DB_PREFIX . "category SET image = '" . $this->db->escape($data['image']) . "' WHERE category_id = '" . (int)$category_id . "'"); } Добавить в двух местах: if (isset($data['image2'])) { $this->db->query("UPDATE " . DB_PREFIX . "category SET image2 = '" . $this->db->escape($data['image2']) . "' WHERE category_id = '" . (int)$category_id . "'"); } Потом admin/controller/catalog/category.php после: $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); добавить: if (isset($this->request->post['image2'])) { $data['image2'] = $this->request->post['image2']; } elseif (!empty($category_info)) { $data['image2'] = $category_info['image2']; } else { $data['image2'] = ''; } if (isset($this->request->post['image2']) && is_file(DIR_IMAGE . $this->request->post['image2'])) { $data['thumb2'] = $this->model_tool_image->resize($this->request->post['image2'], 100, 100); } elseif (!empty($category_info) && is_file(DIR_IMAGE . $category_info['image2'])) { $data['thumb2'] = $this->model_tool_image->resize($category_info['image2'], 100, 100); } else { $data['thumb2'] = $this->model_tool_image->resize('no_image.png', 100, 100); } Потом в admin/view/template/catalog/category_form.tpl добавляем: <div class="form-group"> <label class="col-sm-2 control-label"><?php echo $entry_image; ?></label> <div class="col-sm-10"><a href="" id="thumb-image2" data-toggle="image" class="img-thumbnail"><img src="<?php echo $thumb2; ?>" alt="" title="" data-placeholder="<?php echo $placeholder; ?>" /></a> <input type="hidden" name="image2" value="<?php echo $image2; ?>" id="input-image2" /> </div> </div> Все, на фронте выводите как и стандартную.
  16. Где "много" делается обычно так: ваши кнопки у заказов: <a onclick="addreward('<?php echo $order['order_id']; ?>');" class="reward-add">Добавить баллы</a> <a onclick="addreward('<?php echo $order['order_id']; ?>');" class="reward-add">Добавить баллы</a> <a onclick="addreward('<?php echo $order['order_id']; ?>');" class="reward-add">Добавить баллы</a> функция: function addreward(oid) { $.ajax({ url: 'index.php?route=sale/order/addreward&token=<?php echo $token; ?>&order_id='+oid
  17. А в файлы языка "catalog\language\russian\common\header.php" вы добавили такую строчку? $_['text_compare'] = 'Сравнение товаров (%s)';
  18. Ваш отдельный div еще нужно добавить в скрипты в конце этого файла. Посмотрите как там сделано для "description" и сделайте также.
  19. Я обычно еще использую: lazyLoad: true Тогда соответственно меняем: img src= на: img class="lazyOwl" data-src= Примечание: class="lazyOwl" - справедливо для owl версий 1.3.2(3), для других версий уточнять. Что дает: Картинки загружаются не сразу, а по мере необходимости(видимости), что облегчает вес страницы и увеличивает скорость её загрузки.
  20. https://opencartforum.com/files/file/301-batch-editor-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D0%BE%D0%B5-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2/
  21. Если у поставщика есть api/xml фид или что-то в этом роде, то сделать можно вам кнопочку. А если у него просто сайт с товарами, то ничего не получиться. Тогда нужен парсер, но с ним тоже лотерея, либо ручного труда вагон, либо автомат, но однажды поставщик что-то сменит в верстке страницы и капут вашим спарсенным товарам/ценам.
×
×
  • Створити...

Important Information

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