Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Allexg

Newbie
  
  • Posts

    28
  • Joined

  • Last visited

Everything posted by Allexg

  1. Напиклад таке. Якщо підшаманити, вийде те, що вам треба. Цей безкоштовний. Є й інші модулі, якщо пошукаєте серед платних, обов'язково знайдете, щось задовільне.
  2. Недостаточно информации. Если у вас уже работает ограничение по времени - это совершенно точно либо модуль, либо модификатор, либо какой-нибудь костыль в контроллерах (хотя возможно и на клиенте на javascript может быть проверка). Точнее можно сказать только посмотрев файлы сайта и базу данных. Можете сами глобально посикать значение времени по бд и в файлах сайта, хотя тоже могут быть нюансы, как хранится это время
  3. Що такого має статися, щоб пропала можливість змінити логотип в адмінці сайту? Iдіть в система->налаштування->зображення і завантажуйте який завгодно png логотип через менеджер файлів.
  4. Я з проблемою не зтикався, але з помилки ясно, що клас Mobile_Detect було визначено десь раніше в іншому місці. Спробуйте додати перевірку на наявність класу if(!class_exists('Mobile_Detect')) class Mobile_Detect{ Можливо конфлікт з якимось модулем / модифікатором
  5. Если товаров много, подключением дополнительной таблицы можно существенно замедлить запрос выборки товара. Мне кажется тут нужно уже сохранять порядок сортировки товара в админке, добавляя к нему в качестве префикса порядок сортировки производителя
  6. Вам указали на то, где смотреть добавление заказа в бд. Это происходит в методе addOrder который есть в множестве классов. Вам проще воспользоваться глобальным поиском по файлам сайта по запросу "function addOrder(". Если вы представляете себе "события" в Opencart 2 аналогичные хукам в Wordpress - таких в наличии нет.
  7. Знаете, это зависит от адкватности клиента. Если вы хорошо знаете свое дело и приносите ожидаемый результат - постоянный партнер скорее умерит свои аппетиты в плане мелких доработок, нежели откажется от сотрудничества потому-что вы спарведливо требуете за них оплату. Проверено несколько раз уже. Я не отказываюсь от таких правок, но стараюсь заказчику дать понять, что это тоже работа: а-ля "Любой каприз за ваши деньги". Вконце я оцениваю эти мелкие правки не по-отдельности а перечисляю скопом в отдельной графе (чтобы было видно сколько их было) и прибавляю суммарную стоимость к общему счету. Могу отдельно перечислить правки, за которые я денег не беру, если заказчик новый, и преподношу это в качестве бонуса и залога дльнейшего успешного сотрудничеста. Еще ни один клиент не отказался из-за этого, но были несколько, которые начали требовать мелких правок, не относящихся к сути согласованного объема работы гораздо меньше и с большей осторожностью ) И никогда не называйте точную сумму работ. Оставьте это для говнокодеров, которые рано или поздно все-равно вынудят адекватного клиента обратиться к спциалисту. Я использую стратегию вилки с объяснениями, что та или иная задача может потребовать больше или, что важно - меньше , времени, чем предполагалось. Таким образом набирается постепенно база постоянных партнеров с проектами которых я хорошо знаком и могу уже более - менее точно оценивать затраты варемени на их заказы. С самыми постоянными клиентами я перехожу на почасовку. Они знают, что задача со всеми подводными камнями и нюансами точно будет выпонена, а я знаю, что мое время будет оплачено.
  8. @SergeTkach правий. Щоби вберегтись від ін'єкцій терба впевнитись, що ніде в запитах до бази даних не використувутютья необроблені дані з форм. Це можна зробити лише вручну візуально перевіривши наявний код модификаторів та всановлених модулів від сторонніх розробників. В дефолтному OpenCart всі запити вже захищені від ін'єкцій.
  9. судя по этому на момент отправки письма статус заказа соответствует не завершеному, о чем вам модуль и сообщает.
  10. в письме вы передаете order_product_id, а надо product_id судя по коду модуля. поменяйте на 'model' => $this->model_extension_module_serial_keys->orderInfo($order_info['order_id'], $order_product['product_id']),
  11. помимо этого вам необходимо еще поменять статус в истории заказов UPDATE `oc_order_history` SET `order_status_id` = '5' WHERE `order_status_id` = '14';
  12. если вьі имеете в виду действительно исключительно вестку (html/css/js) без изменения бека- вам дотаточно сделать копию папки темьі сайта, которая находится в catalog/view/ и при необходимости восстанавливать отуда прежние версии страниц. зависит от количества и серьезности изменеий. но если не увереньі в том, что делаете - набирайтесь опьіта, учитесь и создавайте бекап каждьій раз, пока сами не начнете понимать - нужен он в данном случае или нет )
  13. странное решение. сделайте onchange без проверки клавиш
  14. Fondy теж може таке робити. Розщеплює оплати між кількома мерчантами. Користуємось їхнім API для замовлень, за які самі не маємо права приймати оплати (медичні засоби наприклад). Але для OC акого функціоналу не бачив.
  15. Ставите модуль "логин и пароль в письме после регистрации" и регистрируете в клиентской части сайта. В админке потом просто всем поменяете группу. Альтернатива - дописываете нужный функционал в контроллере клиента.
  16. Мне кажется вы в поисках ленивого решения уже проделали больше роботы, чем если бы просто зарегестрировали и написали им вручную )
  17. Скорее всего нет. Если все сам, то тут нужно свое решение, куда например загружается файл с адресами (желательно еще паролями и именами) и из него уже импорируются клиенты с отправкой уведомления. Модулей таких не встречал. Еще нюанс - если большая база клиентов, то массовая отправка почты прямо с сайта может справоцировать спам-фильтры.
  18. Либо регистрировать их самостоятельно в клиентской части сайта, и им придется восстанавливать пароль самостоятельно. Либо, как правильно подметил @Seofisher, сделать рассылку с учетными данными. Если автоматизировать - то вам нужно модифицировать контроллер покупателя в админке admin/controller/customer/customer.php, чтобы после успешного создания отправлялось письмо с уведомлением и данными для входа.
  19. Доброго времени. Установил модуль. При попытке добавления аккаунта инстаграм получаю сообщение "Warning Не удалось получить данные аккаунта". Ваше сообщение "Рекомендуется к прочтению" прочитал, но там этот момент не объясняется.
  20. Привет всем! Возникла идея модифицировать стандартный метод $this->url->link чтобы перед генерацией стандартной ссылки вида /index.php?route=... он искал записи в таблице seo url для текущего url и языка (или любого языка, если нет текущего), и если находил, то генерил уже seo ссылку. Может кто-то знает подходящий модуль, или уже делал такие модификации, и может подсказать, как правильней сформировать запрос, чтобы это работало более-менее универсально, без проверок к какому контроллеру принадлежит генерируемая ссылка. Я хотел сначала сделать такое для категорий и инфостраниц, но маршруты, передаваемые в метод $this->url->link и хранящиеся в таблице seo url не совпадают. Например в сео маршрут выглядит как category_id=64 а в метод передается product/category&path=64, и если по маршруту искать в бд, то ничего не найдется. Можно конечно придумать кучу проверок с регулярками, но может есть способ проще и элегантней?
  21. такая ссылка будет работать, если в с в шаблоне admin/view/template/setting/setting.twig в самом конце добавить скрипт <script> $(document).ready(function(){ let hash = window.location.hash; if(hash){ if( $('a[href="'+hash+'"]').length) $('a[href="'+hash+'"]').trigger('click'); } }); </script>
  22. просто такое не реализовать. когда-то делал такое, только разбивал по производителям (manufacturer_id). собирал массив товаров из корзины с ключем по производителю, и в цикле уже в контроллере оплаты создавал заказ по каждому, при этом каждый созданный заказ добавлял в массив новых заказов в сессию, потом, по каждому из созданных заказов добавлял его в историю и очищал массив заказов в сессии в конце. модификаций было много, сейчас всех не вспомню. но такую логику нужно делать для всех методов оплаты. и еще хорошо выводить в список будущих заказов на этапе подтверждения в чекауте
  23. конечно можно. заходите в шаблон /template/information/contact.twig или в редакторе шаблонов в админке (что не очень удобно и надежно), и в нужном месте создаете структуру образцу одного из примеров по ссылке https://getbootstrap.com/docs/4.0/components/collapse/. Bootstarp уже присутствует в движке, поэтому можно просто скопировать код из примера, вставить в свой шаблон и просто отредактировать. если нужна мультиязычность - перед этим добавляете переводы в файлы переводов для каждого из языков , для русского например catalog/language/ru-ru/information/contact.php
  24. Спасибо огромное! Мне помогло это решение! Сделал пару модификаций и все заработало Проблема была в параметре куки сессии samesite. Для того, чтобы коллбек нормально отрабатывал этот параметр должен быть равен "None" Если кто-то еще столкнулся с такой проблемой, то может эти модификации помогут. У меня OpenCart 3.0.3.7, PHP 7.4 <file path="catalog/controller/startup/session.php"> <operation> <search> <![CDATA[ setcookie($this->config->get('session_name'), $this->session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain')); ]]> </search> <add position="replace"> <![CDATA[ setcookie($this->config->get('session_name'), $this->session->getId(), ['expires' => ini_get('session.cookie_lifetime'), 'path' => ini_get('session.cookie_path'), 'domain' => ini_get('session.cookie_domain'), 'samesite' => 'None', 'secure' => 1]); ]]> </add> </operation> </file> <file path="system/framework.php"> <operation> <search> <![CDATA[ setcookie($config->get('session_name'), $session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain')); ]]> </search> <add position="replace"> <![CDATA[ setcookie($config->get('session_name'), $session->getId(), ['expires' => ini_get('session.cookie_lifetime'), 'path' => ini_get('session.cookie_path'), 'domain' => ini_get('session.cookie_domain'), 'samesite' => 'None', 'secure' => 1]); ]]> </add> </operation> </file>
  25. Ну в ответе liqpay есть номер заказа на сайте, по идее можно вытащить customer_id из этого заказа, если я правильно понял. Но я уже вроде нашел решение благодаря ответу spectre
×
×
  • Create New...

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.