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

KylunSergOC

Новачок
  
  • Публікації

    19
  • З нами

  • Відвідування

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

  1. Я думав що система автоматично їх шукає та підключає
  2. Подскажите как работает наследование в Opencart 3. моя структура файлов: Я хочу чтобы set_filter_body наследовался от set_filter так же как set_filter наследуется от контроллера. Но без явного подключения require_once(DIR_APPLICATION . 'controller/ocpinka/set_filter.php'); я получаю ошибку Fatal error: Uncaught Error: Class 'ControllerOcpinkaSetFilter' not found in C:\OpenServer\domains\site.ua\catalog\controller\ocpinka\set_filter_body.php:3 Stack trace: #0 C:\OpenServer\domains\sitestorage\modification\system\engine\action.php(69): include_once() #1 C:\OpenServer\domains\site.ua\catalog\controller\startup\router.php(25): Action->execute() #2 C:\OpenServer\domains\sitestorage\modification\system\engine\action.php(79): ControllerStartupRouter->index() #3 C:\OpenServer\domains\site.ua\system\engine\router.php(67): Action->execute() #4 C:\OpenServer\domains\site.ua\system\engine\router.php(56): Router->execute() #5 C:\OpenServer\domains\site.ua\system\framework.php(169): Router->dispatch() #6 C:\OpenServer\domains\site.ua\system\startup.php(104): require_once('C:\\OpenServer\\d...') #7 C:\OpenServer\domains\site.ua\index.php(21): start() #8 {main} thrown in C:\OpenServer\domains\site.ua\catalog\controller\ocpinka\set_filter_body.php on line 3 Нужно дополнительно что-то настраивать, или использовать require_once это нормально?
  3. Подскажите как исправить ошибку. Хочу добавить возможность изменять количество товаров после добавления в корзину (фото прикреплено). В файл cart.twig добавлена разметка: <td> <div class="cart_quantity_button"> <a style="font-size:20px; cursor:pointer" class="cart_quantity_down" data-key="{{ product.cart_id }}">-</a> <input class="cart_quantity_input" type="text" name="quantity" value="{{ product.quantity }}" autocomplete="off" size="2" readonly> <a style="font-size:20px; cursor:pointer" class="cart_quantity_up" data-key="{{ product.cart_id }}">+</a> </div> </td> И в файл common.js добавлено функцию и слушатели: function updateCart(key, quantity) { $.ajax({ url: 'index.php?route=checkout/cart/edit', type: 'post', data: 'key=' + key + '&quantity=' + (typeof (quantity) != 'undefined' ? quantity : 1), dataType: 'json', beforeSend: function () { $('#cart > button').button('loading'); }, complete: function () { $('#cart > button').button('reset'); }, success: function (data) { // Обновление количества товаров в корзине $('#cart-total').html(data['total']); // Обновление содержимого корзины if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') { location = 'index.php?route=checkout/cart'; } else { $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function (jqXHR, exception) { if (jqXHR.status === 0) { alert('Not connect. Verify Network.'); } else if (jqXHR.status == 404) { alert('Requested page not found (404).'); } else if (jqXHR.status == 500) { alert('Internal Server Error (500).'); } else if (exception === 'parsererror') { alert('Requested JSON parse failed.'); } else if (exception === 'timeout') { alert('Time out error.'); } else if (exception === 'abort') { alert('Ajax request aborted.'); } else { alert('Uncaught Error. ' + jqXHR.responseText); } } }); } $('.cart_quantity_up').on('click', function () { var key = $(this).data('key'); var quantity = $(this).parent().find('.cart_quantity_input').val(); quantity++; $(this).parent().find('.cart_quantity_input').val(quantity); updateCart(key, quantity); }); $('.cart_quantity_down').on('click', function () { var key = $(this).data('key'); var quantity = $(this).parent().find('.cart_quantity_input').val(); if (quantity > 1) { quantity--; $(this).parent().find('.cart_quantity_input').val(quantity); updateCart(key, quantity); } }); При нажатии на +/- срабатывает событие, количество увеличивается/уменьшается и вызывается функция updateCart() которая должна обновить содержимое корзины. Но метод success не выполняется, так как получаю ошибку "parsererror". (фото прикреплено)
  4. Добрый день. OcStore 3. Хочу сделать возможность добавление/уменьшение количества товаров после добавления в корзину. Магазин делаю в большей мере для себя для знакомства с OpenCart да и вообще с программированием) Умею верстать, знаю основы js, php. Поэтому в большей мере хочу сделать все сам, без готовых модулей, там где это будет оправдано. В шапке есть корзина, после покупки товара, открывается корзина с возможностью изменить количество единиц. Код счетчика: cart.twig <div class="product-card-modal__counter counter" data-counter> <button class="counter__control" data-action="minus"> <svg class="counter__icon"> <use xlink:href="catalog/view/theme/pinkashop/assets/img/icons/icons.svg#minus"></use> </svg> </button> <div class="counter__input"> <input type="text" name="quantity" value="{{ product.quantity }}" data-input-quantity class="counter__input__quantity" placeholder="{{ product.quantity }}"> </div> <button class="counter__control" data-action="plus"> <svg class="counter__icon"> <use xlink:href="catalog/view/theme/pinkashop/assets/img/icons/icons.svg#plus"></use> </svg> </button> </div> common.js $(document).on('click', '[data-counter] [data-action]', function (e) { const btn = $(this); const input = btn.closest('[data-counter]').find('input'); const minValue = 1; if (btn.attr('data-action') == 'plus') { input.val(parseInt(input.val()) + 1); } else if (btn.attr('data-action') == 'minus') { if (parseInt(input.val()) > minValue) { input.val(parseInt(input.val()) - 1); } else { return null; } } }); Подскажите как передать количество дальше в общую корзину? Как сохранить изменённое количество после обновления страницы? Скачивал модули, которые делают похожие вещи, но там 20-40 строк кода, но как они передают данные дальше не могу понять.
  5. Часть этих тем я видел, но никакого решения там нету. Косвенно качаются либо плагина, либо VPS.
  6. Искал, там везде рекламируют плагин webp + lazy load + watermark. А если просто в папке Кеша заменить изображения и не чистить кэш они останутся?)
  7. Я уже задумывался об этом, но он проплачен еще на год. Но все равно хотелось бы оптимизировать изображения, если есть такая возможность
  8. Добрый день. На сайте порядка 50 картинок. Перед загрузкой на сайт, они вручную оптимизируются с помощью веб-сервисов. Попугаи показывают что сами картинки замедляют загрузку сайта на 3,5 сек. Для мобильной версии сайта это довольно проблематично и хотелось бы разобраться с этой проблемой. А проблема с теми картинками которые , которые кэшируются (их нарезает сам движок). Их размер можно уменьшить вполовину. Погуглив, нашлось только решения покупки модулей для оптимизации изображений, но цены там довольно кусаются для 50 картинок. Может кто-то знает способ отменить нарезку изображений движком, и самому отдавать то что ему нужно? Или кто как справляется с этой проблемой?
  9. Тогда как-то не задумывался об seo, да и наверное это было самое простое решение. А как так же на десктопе сделать?
  10. Разве? оно использует категории как пункты, а подкатегории как выпадающее меню подпунктов. Я же хочу чтобы у меня была кнопка ("меню"), которая при наведении, покажет выпадающий список категорий магазина.
  11. Добрый день. Подскажите, насколько правильно сделано мое меню. У меня OcStore 2.3. Меню создавал таким образом, что есть одна главная категория "Продукция", а у нее подкатегории "1", "2", и тд. Но получается что путь к товару теперь очень длинный и включает ненужную главную категорию "продукция", которая выступает только в роли кнопки для открытия меню. И все пункты меню выступают в роли подкатегорий, а не категории. На сколько это влияет на SEO? Как вместо категории, сделать обычную кнопку, которая будет раскрывать меню категорий?
  12. Подскажите как выводить единицы измерения для опенкарт 2.3. Когда товар был в граммах, я просто дописывал после вывода веса - гр. А теперь мне нужно чтобы еще выводились и литры, и этот костыль себя изжил. Как обратится к переменной которая отвечает за вывод единиц (гр, кг, л)?? Вот так раньше выводил вес)) `<?php if($product['weight']>0) { ?> <div class="weight"> <?php echo $product['weight']; ?>гр. </div> <?php } ?>`
  13. подскажите пожалуйста, как это делать?? В каких файлах?
  14. Добрый день. Подскажите пожалуйста, при заполнении карточки товара мы можем указать вес и единицы измерения граммы, кг., но у меня есть часть товаров которым нужно указывать обьем в мл. И чтобы на карточке товара, вместо веса, выводился обьем. Как это реализовывают??
  15. Добрый день. Сайт новый, перевел http на https. Но в sitemap все страницы отображаются через http и только изображения через https. Правильным ли будет решение в конфиге поменять там где HTTP изменить на https://www.domain.com/ : ??? <?php // HTTP define('HTTP_SERVER', 'http://www.domain.com/'); // HTTPS define('HTTPS_SERVER', 'https://www.domain.com/');
  16. Добрый день. Добавил на сайт модуль отзывов, но он имеет такой УРЛ http://site.ru/index.php?route=testimonial/testimonial , как сделать его ЧПУ? SEO pro включен, и все остальное отображается нормально.

×
×
  • Створити...

Important Information

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