Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


dinox
 Погделиться

Рекомендованные сообещёния

8 минут назад, zhu4koff сказал:

 

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

 

 

 

 

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

Ссылка на комменирий
Погделиться на других сайих


3 часа назад, AlektroNik сказал:

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

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

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

 

3 часа назад, AlektroNik сказал:

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

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

 

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

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

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

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

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

 

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

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

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

 

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

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

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

 

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

Изменено пользователем shurosan
Ссылка на комменирий
Погделиться на других сайих


13 часов назад, mpn2005 сказал:
17 часов назад, AlektroNik сказал:

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

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

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

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

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

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

 

13 часов назад, mpn2005 сказал:

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

Да ик и сгделаю, спасипотому что.

13 часов назад, mpn2005 сказал:

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

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

Судя по строчке из комии 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.


 

 

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

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

session.cookie_lifetime = 5356800

session.gc_maxlifetime = 5356800

 

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

 

 

 

 

Ссылка на комменирий
Погделиться на других сайих


2 часа назад, AlektroNik сказал:

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

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

 

2 часа назад, AlektroNik сказал:

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

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

 

2 часа назад, AlektroNik сказал:

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

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

В 10.08.2021 в 21: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 изначально из коробки кривая.

 

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 оформить. Если Вам несложно.

Ссылка на комменирий
Погделиться на других сайих


3 минуты назад, AlektroNik сказал:

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

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

 

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

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

Ссылка на комменирий
Погделиться на других сайих

В 10.08.2021 в 21: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 изначально из коробки кривая.

 

 

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

 

 

AlektroNik-unnecessary-sessions.ocmod.zip

Изменено пользователем AlektroNik
Файлик перезалил. Можно пользоваться
Ссылка на комменирий
Погделиться на других сайих


49 минут назад, mpn2005 сказал:

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

 

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

 

53 минуты назад, mpn2005 сказал:

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

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

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

Ссылка на комменирий
Погделиться на других сайих


37 минут назад, Dime сказал:

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

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

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

 

Если я правильно понял, эи ссылка у Вас появляется при выпотому чторе конкретного фильтра.
Специально настроил синдартный фильтр.
У меня вот икая ссылка при фильтре 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">
Ссылка на комменирий
Погделиться на других сайих


14 минут назад, Dime сказал:

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


35 минут назад, AlektroNik сказал:

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

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

Ссылка на комменирий
Погделиться на других сайих

2 минуты назад, spectre сказал:

 

53 минуты назад, Dime сказал:

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

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

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих


2 минуты назад, Dime сказал:

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

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

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

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

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

Ссылка на комменирий
Погделиться на других сайих

32 минуты назад, mpn2005 сказал:

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

 

37 минут назад, Dime сказал:

 

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

 

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

6 часов назад, AlektroNik сказал:

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

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

 

Ссылка на комменирий
Погделиться на других сайих


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

Ссылка на комменирий
Погделиться на других сайих


40 минут назад, Facebook сказал:

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

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

Ссылка на комменирий
Погделиться на других сайих


19 минут назад, AlektroNik сказал:

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

Спасипотому что. Просто поинтересовался

Ссылка на комменирий
Погделиться на других сайих


4 минуты назад, nikifalex сказал:

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

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

 

14 минут назад, Facebook сказал:

Спасипотому что. Просто поинтересовался

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

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

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

Ссылка на комменирий
Погделиться на других сайих


1 час назад, AlektroNik сказал:

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

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


image.png.1333fbce7d927e1c961b3f7aa9088123.png

Изменено пользователем Facebook
Ссылка на комменирий
Погделиться на других сайих


3 часа назад, AlektroNik сказал:

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

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

3 часа назад, AlektroNik сказал:

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

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

 

1 час назад, Facebook сказал:

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

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

Ссылка на комменирий
Погделиться на других сайих


1 час назад, Shureg сказал:

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

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

 

4 часа назад, AlektroNik сказал:

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

Соответственно и 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

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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