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

ocStore 3.0.3.7 - Модифицированный OpenCart


Recommended Posts

  В 18.08.2021 в 16:40, zhu4koff сказав:

 

возможно будет интересно посмотреть модуль и потом пообщаться с его автором

 

 

 

Expand  

 

Спасибо за совет, прикольный модуль.
Но по факту я знаю как увеличить время жизни корзины для гостей.
Основная сложность у меня определиться указанием времени жизни сессии и временем жизни cookie. 

Надіслати
Поділитися на інших сайтах


  В 18.08.2021 в 16:05, AlektroNik сказав:

Может кинете Pull Request в git OcStore?

Expand  

Сделан ещё в октябре 2020

https://github.com/ocStore/ocStore/pull/39

 

  В 18.08.2021 в 16:05, AlektroNik сказав:

2. Вот с временем жизни сессии и куков немного в затруднении. Обычно все ставят одинаковое число. Я поставил время жизни сессий 4 дня, чтобы они из базы вычищались, т. к. один фиг их по кукам с тем же номером сессии опять в базу пропишет OcStore. Но что-то мне подсказывает что люди все же не с проста делают одинаковые значения у этих параметров.

    # 1 год = 31 536 000
    php_value session.cookie_lifetime 31536000
    # 4 Дня равно 345600 секунд
    php_value session.gc_maxlifetime 345600

 

Expand  

Тут по сути всё индивидуально. Удобно когда клиент повторно заходит на сайт и его не выкидывает из личного кабинета.

Если не сохранять пустые сессии, то записей в БД станет существенно меньше, и можно будет сделать сессию подлинеее.

Если клиент заходит на сайт раз в месяц, то не помешало бы хранить сессию пару месяцев.

Тут всё ещё зависит от ресурсов вашего хостинга, от посещаемости и т.д.

Есть запас по ресурсам делайте храните сессию дольше. Это удобство клиентов. А удобство клиента может увеличить количество ваших заказов.

 

Насчёт одинакового значения, тут странное утверждение. Многие даже не понимают сути данных параметров и как с ними работает движок конкретной версии.

В cookie_lifetime по дефолту вообще ноль торчит. И его ненулевое состояние сразу делает невозможным логин в админку на чистом OpenCaert3

  • +1 1
Надіслати
Поділитися на інших сайтах

С включенным Seo Pro не сохраняется на странице сайта выбранный язык.

 

С включенным  Seo Pro выбранный язык на странице сайта сохраняется только в рамках сессии.

Если зайти на сайт в новой вкладке, то язык сбрасывается на русский. Хотя в куках сайта правильно прописывается нужный выбранный язык.

С отключенным Seo Pro все работает как надо, язык запоминается и выводится при последующим заходе на сайт.

 

Кто-нибудь сталкивался с такой проблемой? Тестил на 3.0.3.7 и также на  3.0.2.0.

Змінено користувачем shurosan
Надіслати
Поділитися на інших сайтах


  В 18.08.2021 в 19:23, mpn2005 сказав:
  В 18.08.2021 в 16:05, AlektroNik сказав:

Может кинете Pull Request в git OcStore?

Expand  

Сделан ещё в октябре 2020

https://github.com/ocStore/ocStore/pull/39

Expand  

Действительно, видимо эти изменения с 3.0.3.2 в 3.0.3.7 не перенесли. Как минимум часть.

Сейчас поковыряюсь еще.

Можете эти пул реквесты отправить в ветку 3.0.3.7?

 

  В 18.08.2021 в 19:23, mpn2005 сказав:

Если клиент заходит на сайт раз в месяц, то не помешало бы хранить сессию пару месяцев.

Expand  

Да так и сделаю, спасибо.

  В 18.08.2021 в 19:23, mpn2005 сказав:

Насчёт одинакового значения, тут странное утверждение. Многие даже не понимают сути данных параметров и как с ними работает движок конкретной версии.

Expand  

Вот я и хотел узнать у Вас как на практике лучше.
 

Судя по строчке из комита https://github.com/ocStore/ocStore/pull/39/commits/c8b5bec5ec33a191bb476b16f43a2562d522b3e7 :

 

Получается Вы все же рекомендуете, чтобы время жизни сессии было равно session.cookie_lifetime, иначе будет равно session.gc_maxlifetime.
Получается нет смысла выставлять разное время для этих параметров, одно без другого не живет?
Если я правильно понимаю, схема такая:
Умирает раньше session.gc_maxlifetime -> создается новая сессия -> создается новые cookie с новым ID.

Умирает раньше session.cookie_lifetime -> создается новая сессия -> создается новые cookie с новым ID.

image.thumb.png.419186fca98bcf9fa0205d894084af1c.png
 

 

Получается в моем случае нужно выставить 2 месяца и в том и в том параметре ну и сделать фиксы из Вашего поста выше, чтобы лишние сесси не создавались.:

Я все правильно понял?

session.cookie_lifetime = 5356800

session.gc_maxlifetime = 5356800

 

Я по началу думал, что время жизни куки статичное, а потом заметил, что оно тоже обновляется при обновлении страницы. 😅

 

 

 

 

Надіслати
Поділитися на інших сайтах


  В 19.08.2021 в 09:43, AlektroNik сказав:

Получается Вы все же рекомендуете, чтобы время жизни сессии было равно session.cookie_lifetime, иначе будет равно session.gc_maxlifetime.

Expand  

Для удобства да. Т.к. если умрут данные сессии, то из ЛК пользователя выкинет.

 

  В 19.08.2021 в 09:43, AlektroNik сказав:

Я по началу думал, что время жизни куки статичное, а потом заметил, что оно тоже обновляется при обновлении страницы. 😅

Expand  

Продлевается. Время жизни идёт с последнего посещения, а не с первого. 

 

  В 19.08.2021 в 09:43, AlektroNik сказав:

Можете эти пул реквесты отправить в ветку 3.0.3.7?

Expand  

В этой версии сборки уже должны быть все правки. По крайней мере в архиве, который опубликован на форуме для скачивания.

  • +1 1
Надіслати
Поділитися на інших сайтах

  В 10.08.2021 в 18:41, mpn2005 сказав:

Вот таким вот кодом можно избавиться от записи ненужных сессиий.

 

В файле 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 изначально из коробки кривая.

Expand  

 

https://github.com/ocStore/ocStore/pull/39/files

В этом пулреквесте изменения совпадают для двух файлов:

upload/catalog/controller/startup/session.php

upload/system/framework.php

 

А вот upload/system/library/session/db.php кардинально отличается. Я про него говорил Pull requests оформить. Если Вам несложно.

Надіслати
Поділитися на інших сайтах


  В 19.08.2021 в 14:21, AlektroNik сказав:

А вот upload/system/library/session/db.php кардинально отличается. Я про него говорил Pull requests оформить. Если Вам несложно.

Expand  

Не думаю, что такое кардинальное изменение примут.

 

Есть ещё и другие моменты. Многие модули просмотренных товаров сохраняют данные в сессии, что не очень хорошо. Т.к. при заходе в товар сессия сразу наполняется не очень нужными, но уникальными данными.  Тут лучше сохранять id последних просмотренных в куке браузера, а не в сессии на стороне сервера.

Но это уже на совести авторов таких модулей и шаблонов, где такой функционал встроен из коробки.

Надіслати
Поділитися на інших сайтах

  В 10.08.2021 в 18:41, mpn2005 сказав:

Вот таким вот кодом можно избавиться от записи ненужных сессиий.

 

В файле 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 изначально из коробки кривая.

Expand  

 

 

Все поправил, все работает. Файлик перезалил. Можно пользоваться кому нужно.
Очередная благодарность @mpn2005 🤗🍻

 

 

AlektroNik-unnecessary-sessions.ocmod.zipFetching info...

Змінено користувачем AlektroNik
Файлик перезалил. Можно пользоваться
Надіслати
Поділитися на інших сайтах


  В 19.08.2021 в 14:27, mpn2005 сказав:

Не думаю, что такое кардинальное изменение примут.

 

Expand  

Почему-бы и нет. Мне идея понравилась, все обосновано и работает. 🤗🍻 В любом случае спасибо.

 

  В 19.08.2021 в 14:27, mpn2005 сказав:

Многие модули просмотренных товаров сохраняют данные в сессии, что не очень хорошо. Т.к. при заходе в товар сессия сразу наполняется не очень нужными, но уникальными данными.  Тут лучше сохранять id последних просмотренных в куке браузера, а не в сессии на стороне сервера.

Но это уже на совести авторов таких модулей и шаблонов, где такой функционал встроен из коробки.

Expand  

Согласен. Все мои шаблоны так и делают. Просмотренные товары хранят в отдельной cookie.
Так что я голосую "ЗА" Pull request :) 

Надіслати
Поділитися на інших сайтах


  В 21.08.2021 в 05:43, Dime сказав:

Доброе утро!
После перехода на 3.0.3.7 яндекс стал ругаться на дубли страниц типа      https://site.ru/mebel/stoly/?attrb=101%3D3

Установлен только шаблон, фильтр только дефолтный

Подскажите как убрать эти ссылки?

 

Expand  

Если я правильно понял, эта ссылка у Вас появляется при выборе конкретного фильтра.
Специально настроил стандартный фильтр.
У меня вот такая ссылка при фильтре https://site.ru/aksessuary/?filter=1, у Вас поченму-то /?attrb=
Скорее всего Вам нужно обратиться к разработчикам шаблона, либо они что-то адаптировали, либо они должны были предусмотреть варианты необходимости индексирования данных страниц.

В идеале у Вас на этой странице внутри <head>...</head> должно быть указание для поискового робота:
<meta name="robots" content="noindex,follow">

 

Второй вариант самостоятельно в файле robots.txt запретить индексацию /?attrb=.

Disallow: /*?attrb=
Disallow: /*&attrb=

Змінено користувачем AlektroNik
Добавил <meta name="robots" content="noindex,follow">
Надіслати
Поділитися на інших сайтах


  В 21.08.2021 в 11:20, Dime сказав:

Так а собственно что далеко ходить...

https://demo3.ocstore.com/desktops/?attrb=101%3D5

И спокойно открывается дубль

Expand  

Не понимаю что Вы нажимаете чтобы этот атрибут появился? 

Надіслати
Поділитися на інших сайтах


  В 21.08.2021 в 11:35, AlektroNik сказав:

Не понимаю что Вы нажимаете чтобы этот атрибут появился? 

Expand  

https://demo3.ocstore.com/desktops/?ololo=123

Надіслати
Поділитися на інших сайтах

  В 21.08.2021 в 12:11, spectre сказав:
Expand  

 

  В 21.08.2021 в 11:20, Dime сказав:

Так а собственно что далеко ходить...

https://demo3.ocstore.com/desktops/?attrb=101%3D5

И спокойно открывается дубль

Expand  

Да после знака вопроса что угодно можно написать. Но откуда у Вас эти ссылки непонятно.

Можно попробовать просканировать сайт и найти где встречаются эти ссылки.

Или посмотреть sitemap. Может можуль sitemap скармливает эти ссылки поисковому роботу.

Надіслати
Поділитися на інших сайтах


  В 21.08.2021 в 12:25, Dime сказав:

Мне яндекс вебмастер внезапно это как критическую проблему выдал. Получается это все в robots закрывать нужно. Яндекс пишет так, а при переходе ссылки превращаются в https://site.ru/mebel/stoly/?attrb[101]=3

Expand  

Это похоже на FilterVier

Вам точно нужны страницы фильтрации в индексе?

Лучше запретить их индексацию в роботс.

И этот вопрос уж точно никак не относится к сборке. Лучше создать отдельную тему и не засорять эту.

Надіслати
Поділитися на інших сайтах

  В 21.08.2021 в 12:29, mpn2005 сказав:

Это похоже на FilterVier

Expand  

 

  В 21.08.2021 в 12:25, Dime сказав:
Expand  

 

Я кстати тоже встречал тему аналогичную. Там упоминался фильтр FilterVier. Но решения проблемы там нет.

 

Получается отстается тольок.

  В 21.08.2021 в 06:17, AlektroNik сказав:

Второй вариант самостоятельно в файле robots.txt запретить индексацию /?attrb=.

Disallow: /*?attrb=
Disallow: /*&attrb=

Expand  

 

Надіслати
Поділитися на інших сайтах


  В 25.08.2021 в 04:31, Facebook сказав:

А где нибудь есть инструкция как правильно и корректно обновиться с версии ocStore 3.0.2.0 ? Что то не нашел

Expand  

Нет и делать это не рекомендуется. Уже неоднократно обсуждалось в этой теме.

Надіслати
Поділитися на інших сайтах


  В 25.08.2021 в 05:12, AlektroNik сказав:

Нет и делать это не рекомендуется. Уже неоднократно обсуждалось в этой теме.

Expand  

Спасибо. Просто поинтересовался

Надіслати
Поділитися на інших сайтах


  В 25.08.2021 в 05:33, nikifalex сказав:

На самом деле обновиться можно с 3.0.2 и особо без проблем, за пару часов, в ручном режиме.

Если это конечно вам нужно, что врядли.

Expand  

 

  В 25.08.2021 в 05:32, Facebook сказав:

Спасибо. Просто поинтересовался

Expand  

В ручном режиме все можно :)

Я например с ocStore 2.3.0.2.3 перехожу на 3.0.3.7.

Но я поставил голый 3.0.3.7 и частично мигрируют таблицы из базы с правками, частично руками переношу (так быстрее). Но нужно еще учитывать, что могут отличаться ID и ссылки в тексте. Поэтому ручной работы много. Не говоря уже о том, что с некоторыми вещами нужно смириться. К примеру, врятли у Вас получится по моей схеме, чтобы ID товаров в заказе совпали с ID товаров в Каталоге. Емли только импортировать и таблицу товаров тоже. Но у нас еще переход с одной стстемы учеты на другую, так что импорт товаров на сайт делаем с нуля.

Надіслати
Поділитися на інших сайтах


  В 25.08.2021 в 05:47, AlektroNik сказав:

у Вас получится по моей схеме

Expand  

)) Ну как же. Я около 8 сайтов с 1,5 переезжал на 2 ку, и потом с 2-ки на тройку. Короче опыт есть . Да делал через БД все ручками, Но я уж думал что на мноих сайтах существует простой скрипт обновления, а тут столько лет движку и до сих пор нету. Вот так выглядит в адмике, просто кликаешь, жмешь обновиться и готово. Хотя движек тоже бесплатный. Тут же деревня ))


image.png.1333fbce7d927e1c961b3f7aa9088123.png

Змінено користувачем Facebook
Надіслати
Поділитися на інших сайтах


  В 25.08.2021 в 05:47, AlektroNik сказав:

К примеру, врятли у Вас получится по моей схеме, чтобы ID товаров в заказе совпали с ID товаров в Каталоге.

Expand  

Вообще-то надо постараться, чтобы вышло иначе. При копировании таблиц БД оно, внезапно, с теми же id копируется.

  В 25.08.2021 в 05:47, AlektroNik сказав:

Емли только импортировать и таблицу товаров тоже.

Expand  

Вы предлагаете товары не переносить? Странная методика. Видимо, сильно эксклюзивная.
 

 

  В 25.08.2021 в 07:30, Facebook сказав:

Вот так выглядит в адмике, просто кликаешь, жмешь обновиться и готово. Хотя движек тоже бесплатный. Тут же деревня ))

Expand  

А смысл делать такую кнопочку, если все равно ни модули, ни темы для разных версий несовместимы? Для новой версии может вообще не быть варианта модуля. Есть скрипты с такой кнопочкой "обновить", которые ограничиваются переносом - модификацией БД, но работает это через раз и все равно проблемы не решает. 

Надіслати
Поділитися на інших сайтах


  В 25.08.2021 в 09:29, Shureg сказав:

Вы предлагаете товары не переносить? Странная методика. Видимо, сильно эксклюзивная.

Expand  

Я же написал, странно, что Вы не дочитали до конца 😁

 

  В 25.08.2021 в 05:47, AlektroNik сказав:

Но у нас еще переход с одной стстемы учеты на другую, так что импорт товаров на сайт делаем с нуля.

Expand  

Соответственно и ID товаров меняется, и лишние товары в новой системе отсутствуют и т. д.

Надіслати
Поділитися на інших сайтах


Всем привет! Поставил сборку 3037 и шаблон journal 318 все почистил обновил и тд выдает ошибку 

Notice: Undefined variable: loader in /home/a0486456/domains/savemoto.ru/public_html/storage/modification/system/library/template/twig.php on line 49

Надіслати
Поділитися на інших сайтах


// Journal Theme Modification
            if (defined('JOURNAL3_ACTIVE')) {
                $j3loader = new \Twig_Loader_Filesystem();

                if (defined('DIR_CATALOG') && is_dir(DIR_MODIFICATION . 'admin/view/template/')) {
                    $j3loader->addPath(DIR_MODIFICATION . 'admin/view/template/');
                } elseif (is_dir(DIR_MODIFICATION . 'catalog/view/theme/')) {
                    $j3loader->addPath(DIR_MODIFICATION . 'catalog/view/theme/');
                }

                $j3loader->addPath(DIR_TEMPLATE);

                $loader = new \Twig\Loader\ChainLoader(array($loader, $j3loader));
            }
            // End Journal Theme Modification

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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