Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

niger

Пользователи
  
  • Публикаций

    1 088
  • Зарегистрирован

  • Посещение

7 подписчиков

Техническая поддержка

  • Рабочие дни
    Пн
  • Выходные дни
    Пн
  • Текущий статус
    Не працюю

Информация

  • Город:
    Дніпро
  • Интересы
    Донатити ЗСУ та волонтерам

Посетители профиля

Блок последних посетителей выключен и не отображается другим пользователям.

Достижения niger

  1. так легше зробити. А варіантів дуже багато.
  2. Можно кнопку "Заказать" переделать через языковые файлы и контроллер на "Посетить сайт" и вешать на нее разные линки на сайты. А можно ее убрать и эти ссылки указывать в опциях, и выводить вместо этой кнопки подменив в контроллере
  3. Сьогодні в 4 додали OCMOD Version Release Notes 4.1.0.0 ADDED OCMOD back!! French language Blog system UPDATED order editor. normalised the ordered editor system. FIXED Subscription system Please read release notes for full list https://github.com/opencart/opencart/releases/tag/4.1.0.0
  4. niger

    Нехватка памяти MySQLi

    Ви самі відповіли на своє питання. При імпорту вибірковому все ок - тобто памʼяті вистачає, а при повному не вистачає. Звідси робиться простий та логічний висновок - або робити імпорт\експорт частковими партіями, або збільшувати ліміт памʼяті, який скоріш за все вже максимум для звичайного віртуального хостингу. Тож або переписуйте модуль, щоб він робив чанками імпорт\експорт, або самі розбивайте на 2,3,4....n частки файли, та імпортуйте частками.
  5. $data['minPrice'] = $data['maxPrice'] = 0; if ($this->ocfilter->api->isSelected()) { $this->load->model('extension/module/ocfilter'); $price_range = $this->model_extension_module_ocfilter->getPriceSliderRange($this->ocfilter->filter->getFilterModelData()); if (($price_range['min'] + $price_range['max']) > 0) { $data['minPrice'] = $price_range['min']; $data['maxPrice'] = $price_range['max']; } } else { $data['minPrice'] = $this->currency->format($this->model_catalog_category->getMinPrice($category_id), $this->session->data['currency'],'',false); $data['maxPrice'] = $this->currency->format($this->model_catalog_category->getMaxPrice($category_id), $this->session->data['currency'],'',false); } А це в контролері, якщо ми юзаємо фільтрацію ocfilter то беремо з нього. якщо без фільтрації, то беремо із отих методів в моделі що вище для них кинув запит у базу
  6. $sql = "SELECT MIN(p.price) AS minprice FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category pc ON (p.product_id = pc.product_id) LEFT JOIN " . DB_PREFIX . "category_path cp ON (cp.category_id = pc.category_id) WHERE cp.path_id = '" . (int)$category_id . "' AND p.status = '1'"; $sql = "SELECT MIN(p.price) AS minprice FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category pc ON (p.product_id = pc.product_id) WHERE pc.category_id = '" . (int)$category_id . "' AND p.status = '1'"; $sql = "SELECT MAX(p.price) AS maxprice FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category pc ON (p.product_id = pc.product_id) LEFT JOIN " . DB_PREFIX . "category_path cp ON (cp.category_id = pc.category_id) WHERE cp.path_id = '" . (int)$category_id . "' AND p.status = '1'"; $sql = "SELECT MAX(p.price) AS maxprice FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category pc ON (p.product_id = pc.product_id) WHERE pc.category_id = '" . (int)$category_id . "' AND p.status = '1'"; Це як приклад запит в базу в моделі із субкатегоріями, та без.
  7. якщо встановлен Simple подивіться там.
  8. гарно, навіть дуже, на словах це монобанк? хоча мені здається навіть в монобанку немає 15 000 професіоналів у ФінТеч в Україні Увесь скрін якщо хтось на сайті виправить
  9. Та кому взагалі потрібні логи. Видумали "місцеві спеціалісти" то гівно.
  10. Тобто ви вирішили що не записувати помилки може бути корисно? Замість того щоб вирішити причину, те що створює помилки які логуються, ви вирішили їх не записувати та не виправляти. Навряд чи таке вирішення проблем є корисним взагалі в будь-якій сфері діяльності.
  11. niger

    Турбопатриот

    Як на мене не має бути розповсюдження модуля із посиланням у файлі. Людина купляє тут модуль і вважає що його промодерували тут модери і дозволили його розмістити, бо файли модуля перевірили, і тому ти завантажуєш тут всі необхідні файли, а так виходить - тобі дають посилання, а там через пару днів вже гівно яке ламає сайт, і ніхто не перевіряв, що там зараз знаходиться, лише під час допущення до розміщення, або хтось заволодів доменом і там підкинув вірусів.
  12. Ні, але це завжди буде питання вартості захисту, та скільки платять за парсинг чи за спам форми. Ці боти, які заповнюють форми, вимикаються за допомоги рекаптчі у більшості випадків. Також можна пару поведінок додати - форма не може відправитись без івенту її відкрити, клік по кнопці, ще сюди ж, форма не викликається першим заходом\запитом(як вище писали, повинна бути кука, або класти в localstorage), також форма не відправляється миттєво, а 10+ секунд людині треба якнайменше щоб її заповнити. Ну і ще можна додати динамічні назви полів, та пару "схованих", якщо хоча б одне із "схованих" відправляється - то теж в ліс.
  13. Цьому є докази, ви особисто обходили та використовували ці методи обходу, чи читали десь в інтернетах від скріпт-кіддіс, або може вам хтось про це розказав?
  14. Чи можна ось так зібрати ocmod, але треба перевірити <?xml version="1.0" encoding="utf-8"?> <modification> <name>Quantity Based Cart Discount</name> <code>quantity_based_cart_discount</code> <version>1.0</version> <author>niger</author> <link>https://www.example.com</link> <file path="catalog/model/checkout/cart.php"> <operation> <search position="after"><![CDATA[ $products = $this->getProducts(); ]]></search> <add><![CDATA[ $total_quantity = 0; foreach ($products as $product) { $total_quantity += $product['quantity']; } if ($total_quantity >= 4) { $discount_quantity_percentage = 0.30; } elseif ($total_quantity == 3) { $discount_quantity_percentage = 0.25; } elseif ($total_quantity == 2) { $discount_quantity_percentage = 0.15; } elseif ($total_quantity == 1) { $discount_quantity_percentage = 0.05; } else { $discount_quantity_percentage = 0; } if ($discount_percentage > 0) { $total = $total - ($total * $discount_quantity_percentage); $total_data[] = array( 'code' => 'quantity_discount', 'title' => 'Знижка за кількість товарів (' . ($discount_quantity_percentage * 100) . '%)', 'text' => '-' . $this->currency->format($this->tax->calculate($total * $discount_quantity_percentage, 0, $this->config->get('config_tax'))), 'value' => $total * $discount_quantity_percentage, 'sort_order' => 1 ); } ]]></add> </operation> </file> <file path="catalog/view/theme/*/template/checkout/cart.twig"> <operation> <search position="before"><![CDATA[ </tbody> ]]></search> <add><![CDATA[ {% if quantity_discount %} <tr> <td colspan="4" class="text-right"><strong>Знижка за кількість товарів</strong></td> <td class="text-right">-{{ quantity_discount }}</td> </tr> {% endif %} ]]></add> </operation> </file> <file path="catalog/view/theme/default/template/checkout/confirm.twig"> <operation> <search position="before"><![CDATA[ </tbody> ]]></search> <add><![CDATA[ {% if quantity_discount %} <tr> <td colspan="4" class="text-right"><strong>Знижка за кількість товарів</strong></td> <td class="text-right" style="color: red;">-{{ quantity_discount }}</td> </tr> {% endif %} ]]></add> </operation> </file> <file path="catalog/controller/checkout/cart.php"> <operation> <search position="after"><![CDATA[ $data['products'] = array(); ]]></search> <add><![CDATA[ $data['quantity_discount'] = ''; if (isset($total_data)) { foreach ($total_data as $total_line) { if ($total_line['code'] == 'quantity_discount') { $data['quantity_discount'] = $total_line['text']; } } } ]]></add> </operation> </file> <file path="catalog/controller/checkout/confirm.php"> <operation> <search position="after"><![CDATA[ $data['totals'] = array(); ]]></search> <add><![CDATA[ $data['quantity_discount'] = ''; if (isset($totals)) { foreach ($totals as $total_line) { if ($total_line['code'] == 'quantity_discount') { $data['quantity_discount'] = $total_line['text']; } } } ]]></add> </operation> </file> </modification>
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.