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

mpn2005

Users
  
  • Posts

    3,222
  • Joined

  • Last visited

Everything posted by mpn2005

  1. Сделан ещё в октябре 2020 https://github.com/ocStore/ocStore/pull/39 Тут по сути всё индивидуально. Удобно когда клиент повторно заходит на сайт и его не выкидывает из личного кабинета. Если не сохранять пустые сессии, то записей в БД станет существенно меньше, и можно будет сделать сессию подлинеее. Если клиент заходит на сайт раз в месяц, то не помешало бы хранить сессию пару месяцев. Тут всё ещё зависит от ресурсов вашего хостинга, от посещаемости и т.д. Есть запас по ресурсам делайте храните сессию дольше. Это удобство клиентов. А удобство клиента может увеличить количество ваших заказов. Насчёт одинакового значения, тут странное утверждение. Многие даже не понимают сути данных параметров и как с ними работает движок конкретной версии. В cookie_lifetime по дефолту вообще ноль торчит. И его ненулевое состояние сразу делает невозможным логин в админку на чистом OpenCaert3
  2. В оригинальном OC3 всё ещё не поправили проблему. Вот файл на git https://github.com/opencart/opencart/blob/3.0.x.x_Maintenance/upload/system/framework.php Смотрим вот сюда: Время жизни сесии должно быть меткой времени UNIX Вот документация: Итого, если мы выставим cookie_lifetime = 10000, для примера, то получим куку, которая протухла 52 года назад.
  3. С одной стороны. А с другой стороны, их не стоит и сохранять. Там же нет ничего полезного. Данные сессии никак не влияют на корзину. Корзина привязана к ID сессии, а не к данным из сессии. ID сессии хранится в куках браузера. И время жизни определяется настройкой session.cookie_lifetime Если там ноль, то кука умирает с закрытием браузера. И по умолчанию там ноль. Если там не ноль, то в большинстве версия OC3 есть глюк и сессия сразу протухает, т.к. время создания попадает в прошлое. И не получится даже заглогинится в админку. В ocStore-3.0.3.7 это уже из коробки исправлено. В чистом OC3 это так и не поправили. Параметр session.gc_maxlifetime относится к времени жизни именно данных сессии. Но не самого ID сессии. Вы всё слепили в кучу и перемешали. Можно сесиию делать долгой. Но при этом лучше не сохранять пустые сессии. В первых версия OC3 сессии вообще никогда не чистились из за кривой либы. И на этих версиях можно часто встретить таблицу сессий овер 1Гб. Если важна только корзина, то данные самой сессии можно долго не хранить. А хранить дольше только куку с ID сессии. Что в параметре session.cookie_lifetime? Если там ноль, то браузер работает как надо.
  4. Тогда надо более чётко сформулировать. Если с разными валютами, то там будет посложнее. Скорее всего сами не справитесь. Так тоже не подойдёт, т.к. будет округлять итог. А нужно округлить единицу товара, но учётом курса валюты.
  5. Ниже ещё есть строка: 'total' => ($price + $option_price) * $cart['quantity'], Там надо сделать округление цены до умножения: 'total' => round($price + $option_price) * $cart['quantity'],
  6. В товаре можно реализовать опциями http://ocs2302.mpn-oc.org/options_with_quantity_004 Для вывода в категории надо будет делать уже доработку. Вот такой модуль.
  7. Это один момент. А второй - зачем сохранять сессию, если там от дефолтных значений ничего не поменялось. Если посмотреть в БД записи, то сессий о значениями по умолчанию будет под 90% Их нет смысла хранить и тратить на них ресурс.
  8. Вот таким вот кодом можно избавиться от записи ненужных сессиий. В файле system/library/session/db.php После строки: $this->db = $registry->get('db'); Добавить: $this->config = $registry->get('config'); И в функции write после строки: if ($session_id) { Добавить вот это: $session_empty = true; foreach ($data as $key => $value) { if ($key == 'language' && $value == $this->config->get('config_language')) { continue; } if ($key == 'currency' && $value == $this->config->get('config_currency')) { continue; } $session_empty = false; break; } if ($session_empty) { return true; } Таким образом, если в сессии будут данные, отличные от данных по умолчанию, то она будет записана в БД. Иначе запись не производится. Непонятно, почему вообще этому моменту не уделили изначально должного внимания. Тем более, что либа сессий OC3 изначально из коробки кривая.
  9. Нет сессии, будет создана новая. И естественно будет сохранена. Вот тут есть у движка непродуманный момент, что сесиию вообще не стоит сохранять, если там все значения по умолчанию. У OC это валюта и язык по умолчанию. Они будут выставлены из конфига при новом обращении.
  10. Добрый день. Да. Модуль объединяет именно разные товары. Не обязательно разделять все. Где-то можно оставить и опциями, где опция не особо влияет на параметры самого товара. Можно объединять в связки и товары с опциями, тогда при выборе варианта будет меняться и опции. Да. Товары остаются обычными товарами. Они просто собираются в группы. Можно сделать доработку и собирать их в группы по совпадению какого-то поля, например: модель. Модули в данном случае не пересекаются. У каждого варианта можно сделать свою полноценную ссылку и её выгружать. Естественно это имеет значение, т.к. 10к товаров и 100к товаров - это разная нагрузка. Многое ещё зависит от используемого шаблона и модулей. Возможно понадобится дополнительная оптимизация, т.к. не каждая тема из коробки будет нормально работать с таким количеством товаров. От хостинга тоже многое зависит. Некоторые обещаю одно, а на деле имеет место оверселлинг ресурсов и получается совсем печальная картина.
  11. В файле: catalog/controller/blog/category.php В самом начале есть код: Надо сделать: $sort = 'p.sort_order'; и $order = 'ASC';
  12. В установщике расширений есть история установки. И там есть кнопка удаления. При удалении удаляются все установленные файлы. И очищается конфигурация модуля, если она сохранена шататным образом.
  13. Если надо слать письма на разные адреса для разных групп, то именно это и стоит делать, а не изобретать велосипед. Добавьте в админке поле к группе покупателя - email для уведомления. И при оформлении заказа проверяйте, если он заполнен, то шлите туда. Если не заполнен, то всё штатным образом. Будет гораздо проще, чем вы пытаетесь выкрутить на поддоменах.
  14. Модуль не мешает работе штатным опциям. Он служит для объединения отдельных товаров в одну группу. В свою очередь эти отдельные товары могут быть и с опциями. Для разных категорий можно делать разные настройки по выводимым товарам. Это всё влияет на импорт товаров и синхронизацию цен и остатков. Модуль HPM не занимается загрузкой и наполнением товаров. Если основные классы и скрипты не менялись при первёрстке, то может и из коробки заработать. Если изменения были существенные, то нужно будет адаптировать. Эти модули поддерживают создание связок для модуля HPM. О подробностях лучше у авторов этих модулей спрашивать, т.к. они делали адаптацию своих решений самостоятельно.
  15. Это зависит от перевода. Это как раз и есть установщик дополнений. Это просто заготовка для кастомных изменений. Её ставить не требуется для работы модуля.
  16. Попробуйте сменить в админке настройку "Добавить слэш в конец ссылки" Это в настройках магазина на закладке SeoPro
  17. Добрый день. Всё на месте. Проверяйте, что контроллер админки присутствует и для него есть права на чтение. Контроллер тут: admin/controller/user/user.php
  18. Если он туда его приклеивает, то вот это и нужно исправлять. Слеш в конце является частью значения get параметра.
  19. Товары бывают весьма разные. И решать за пользователей как им искать - это не задача движка.
  20. То что вы дописываете в ссылку мусор - это неделает ссылку правильной. Допишите в середину. ------40 Где такие ссылки генерирует движок?
  21. Для размышления ещё пара ссылок: https://demo23.ocstore.com/search/?search=40/ https://demo23.ocstore.com/search/?search=40 Тут тоже надо убирать слеш, который является частью поисковой строки?
×
×
  • 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.