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

AlektroNik

Users
  
  • Posts

    689
  • Joined

  • Last visited

Everything posted by AlektroNik

  1. В ручном режиме все можно Я например с ocStore 2.3.0.2.3 перехожу на 3.0.3.7. Но я поставил голый 3.0.3.7 и частично мигрируют таблицы из базы с правками, частично руками переношу (так быстрее). Но нужно еще учитывать, что могут отличаться ID и ссылки в тексте. Поэтому ручной работы много. Не говоря уже о том, что с некоторыми вещами нужно смириться. К примеру, врятли у Вас получится по моей схеме, чтобы ID товаров в заказе совпали с ID товаров в Каталоге. Емли только импортировать и таблицу товаров тоже. Но у нас еще переход с одной стстемы учеты на другую, так что импорт товаров на сайт делаем с нуля.
  2. Нет и делать это не рекомендуется. Уже неоднократно обсуждалось в этой теме.
  3. Я кстати тоже встречал тему аналогичную. Там упоминался фильтр FilterVier. Но решения проблемы там нет. Получается отстается тольок.
  4. Да после знака вопроса что угодно можно написать. Но откуда у Вас эти ссылки непонятно. Можно попробовать просканировать сайт и найти где встречаются эти ссылки. Или посмотреть sitemap. Может можуль sitemap скармливает эти ссылки поисковому роботу.
  5. Не понимаю что Вы нажимаете чтобы этот атрибут появился?
  6. Если я правильно понял, эта ссылка у Вас появляется при выборе конкретного фильтра. Специально настроил стандартный фильтр. У меня вот такая ссылка при фильтре https://site.ru/aksessuary/?filter=1, у Вас поченму-то /?attrb= Скорее всего Вам нужно обратиться к разработчикам шаблона, либо они что-то адаптировали, либо они должны были предусмотреть варианты необходимости индексирования данных страниц. В идеале у Вас на этой странице внутри <head>...</head> должно быть указание для поискового робота: <meta name="robots" content="noindex,follow"> Второй вариант самостоятельно в файле robots.txt запретить индексацию /?attrb=. Disallow: /*?attrb= Disallow: /*&attrb=
  7. Почему-бы и нет. Мне идея понравилась, все обосновано и работает. 🤗🍻 В любом случае спасибо. Согласен. Все мои шаблоны так и делают. Просмотренные товары хранят в отдельной cookie. Так что я голосую "ЗА" Pull request
  8. Все поправил, все работает. Файлик перезалил. Можно пользоваться кому нужно. Очередная благодарность @mpn2005 🤗🍻 AlektroNik-unnecessary-sessions.ocmod.zip
  9. 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 оформить. Если Вам несложно.
  10. Сделан ещё в октябре 2020 https://github.com/ocStore/ocStore/pull/39 Действительно, видимо эти изменения с 3.0.3.2 в 3.0.3.7 не перенесли. Как минимум часть. Сейчас поковыряюсь еще. Можете эти пул реквесты отправить в ветку 3.0.3.7? Да так и сделаю, спасибо. Вот я и хотел узнать у Вас как на практике лучше. Судя по строчке из комита 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 Я по началу думал, что время жизни куки статичное, а потом заметил, что оно тоже обновляется при обновлении страницы. 😅
  11. Спасибо за совет, прикольный модуль. Но по факту я знаю как увеличить время жизни корзины для гостей. Основная сложность у меня определиться указанием времени жизни сессии и временем жизни cookie.
  12. Добрый вечер, большое спасибо за такой развернутый ответ 🤗🍻 Да, что-то не разобрался с курицей и яйцом 😅 Вы абсолютно правы. Провел эксперемент. Удалили из таблицы oc_session сессия и по кукам она в базе создалась обратно при обновлении страницы Тогда да, нужно внедрять исправление однозначно. Не зря ocStore 3.0.3.7 ждал пока зарелизят 😁, хотябы /system/framework.php поправили. Может кинете Pull Request в git OcStore? Можете посоветовать настройки? Как Вы обычно в своих проектах делаете? Хотелось бы чтобы корзина сохранялась для гостей хотя бы 4 дня, а авторизация залогиненых покупателей максимально долго, хотя бы год. Или как лучше? 1. Корзина гостей чистится вот этой строчкой. Тут выставляю 4 дня: код из файла /system/library/cart/cart.php: // Remove all the expired carts with no customer ID $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 96 HOUR)"); 2. Вот с временем жизни сессии и куков немного в затруднении. Обычно все ставят одинаковое число. Я поставил время жизни сессий 4 дня, чтобы они из базы вычищались, т. к. один фиг их по кукам с тем же номером сессии опять в базу пропишет OcStore. Но что-то мне подсказывает что люди все же не с проста делают одинаковые значения у этих параметров. # 1 год = 31 536 000 php_value session.cookie_lifetime 31536000 # 4 Дня равно 345600 секунд php_value session.gc_maxlifetime 345600
  13. Ну вот, теперь попробуйте включить расширения все и выполнить выгрузку в эксель. Потом посмотреть что в логах веб сервера пишет.
  14. И вот это на главной странице. Вас ни на какие мысли не наводит? Мне кажется у Вас PHP 8.0 используется ... Несмотря на то, что он 7.3+, его лучше не использовать. Какая у Вас версия движка и PHP? Расширения PHP ... Да можете все выбрать ... я думаю не сильно хуже будет ))) Для тестов точно подойдет ...
  15. Еще вопрос по поводу тех же сессий. У меня время сессии 33,6 Вот по этой строчке из /system/library/session/db.php $this->maxlifetime = ini_get('session.gc_maxlifetime') !== null ? (int)ini_get('session.gc_maxlifetime') : 1440; Я давно хотел сделать типо вечную ссессию как допустим в vk.com или яндексе, но мой же ответ выше https://opencartforum.com/topic/177506-russkaya-sborka-ocstore-3037/?do=findComment&comment=1742162 натолкнул на мысль, если ее сделать бесконечной, то тогда БД будет расти слишком быстро. @mpn2005 @chukcha Коллеги, может кто-то подскажет какой бестпрактис для Opencart для времени жизни сессий, гостевых корзин и файлов cookie? Пока наверное, мысли хотя бы увеличить до 4-х дней, чтобы сессия жила хотя бы с пятницы на понедельник без необходимости обновлять страницу сайта для обновления expire сессии. Правда, пару лет назад я так и не смог решить проблему времени жизни cookie в Яндекс Браузере (после закрытия браузера генерируется новая сессия, помогает только правка поведения самого браузера, но у клиентов же такое не сделаешь.) Буду благодарен за совет и по этой проблеме.
  16. Мне кажется так сделано из-за того, что анонимные корзины (просто прохожий накидал товар в корзину без регистрации и т. д.) хранят свою корзину в таблице oc_cart и идет привязка к сессии из таблицы oc_session. Мне кажется не стоит убирать эти сессии по двум причинам: 1. У сессий есть срок истекания. Т. е. сессии сами удаляются примерно через 34 часа. Вот код из файла /system/library/session/db.php: if (mt_rand() / mt_getrandmax() > $gc_probability / $gc_divisor) { $this->db->query("DELETE FROM `" . DB_PREFIX . "session` WHERE `expire` < '" . $this->db->escape(date('Y-m-d H:i:s', time())) . "'"); 2. Если не будет уникальных сессий как же тогда Opencart будет различать корзины покупателей? Опять же товары из корзины без customer id удаляются через 1 час по умолчанию. Вот код из файла /system/library/cart/cart.php: $this->maxlifetime = ini_get('session.gc_maxlifetime') !== null ? (int)ini_get('session.gc_maxlifetime') : 1440; и вот оттудаже: // Remove all the expired carts with no customer ID $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR)"); Вот пример, что в базе творится.
  17. Начал ковырять, я так понял функция sendMail программируется в /system/library/ompro/ompro.php ... И дошла до меня фраза "Пока вы туда не доберётесь" )))). Ну да, тогда только ждать остается. Пока займусь другими делами :)
  18. Конкретно в этом случае просто создать таблицу oc_url_alias. Структуру запроса таблицы можно подсмотреть толи в install.php, толи в install.sql в новой версии. Второй вариант под этуже структуру подогнать существующую таблицу SEO URLS (не помню как она называется). Я кажется смотрел ее, у них схожая структура. А вообще, кто-то писал, что с 3.0.3.2 обновиться на 3.0.3.7 нельзя. Т. е. если обновляетесь, то на свой страх и риск. Лучше ставить с нуля.
  19. Возможно тут кроется основная проблема. Кроме того, что в конце у Вас стоит знак меньше, больше ничего странного не нашел, но это вполне может быть причиной ошибки. Я думаю Вы в шаблонах вывода товаров или типо того что-то накрутили. Попробуйте откатиться или вернуться на стандартные шаблоны вывода данных.
  20. В принципе я так и сделал. Зато появилась идея ... а действительно если удалить мои стили, что изменится. Дело в том что я на Stripo сделал себе шаблон. Посмотрел письма других рассылок типо сбера, OTUS и т. д. и оказалось все они используют Stripo. ))) В шаблоне Stripo стили хоть и указаны, но для каждого элемента в BODY у них тоже стили указаны, и удаление стилей <style type="text/css">... </style> в моем случае кажется не привело ни к каким изменениям. Задал вопрос по этому поводу в поддержку Stripo. Пока жду ответ от разработчиков. @brest001 Получил ответ Stripo поддержки: Т. е. Не критично, но по хорошему нужно. Подтверждаю ... стили все же нужны. Проверял на аутлуке. Еще переписка с поддержкой Stripo для размышления. Может сделать возможность присоеденить целиком файлик HTML или дать больше воли админу?
  21. Вот это прям очень важно для нас, будем очень благодарны если такая функция появится... Прям очень благодарны 🙇‍♂️🙇‍♂️🙇‍♂️😭😭😭 Я и остальные то вопросы не хотел даже задавать, чтобы не отвлекать от разработки 😢 В принципе я так и сделал. Зато появилась идея ... а действительно если удалить мои стили, что изменится. Дело в том что я на Stripo сделал себе шаблон. Посмотрел письма других рассылок типо сбера, OTUS и т. д. и оказалось все они используют Stripo. ))) В шаблоне Stripo стили хоть и указаны, но для каждого элемента в BODY у них тоже стили указаны, и удаление стилей <style type="text/css">... </style> в моем случае кажется не привело ни к каким изменениям. Задал вопрос по этому поводу в поддержку Stripo. Пока жду ответ от разработчиков. Согласен, вебки почтовые разные могут по разному отрабатывать, но скорее всего они просто будут игнорировать стили из самого письма и подстраивать их под себя. По поводу письме есть еще пару вопросов: 1. В письме, которое приходит с магазина о новом заказе. Есть вставка для отображения письма в виде простого текста. Соответственно оно должно быть предварительно сформировано. Может быть сделать еще одно поле в редакторе шаблонов для создания и такого простого текстового шаблона? Вот пример из тела письма: ------=_NextPart_2fbbd8222c8577a35305507754fb1a55_alt Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit This is a HTML email and your email client software does not support HTML email! Я столкнулся с почтовым сервером Zimbra и его веб-мордой почтовой, так эта зараза в кратком предварительном просмотре пишет именно этот текст, хотя отображает HTML формат без проблем. Скрин: 2. Тот же сбербанк кодирует свои письма в base64. Я так понимаю во избежания каракуль или кривого отображения. Может и нам так кодировать? Content-Transfer-Encoding: base64 P. S. Скрытые копии прям ТОП приоритет для нас. 😢Все остальное мелочи.
  22. @brest001 Константин, добрый вечер. Кажется, нашел баг. Хотел пачкой писать, но, чувствую, запутаюсь. Буду по чуть-чуть. В шаблоне письма в кладке "Настройки" в поле <div> при отправке письма меняет кавычки на &quot; Вот пример: class="es-wrapper-color" style="background-color:#EFEFEF" В письме приходит: <div style="class=&quot;es-wrapper-color&quot; style=&quot;background-color:#EFEFEF&quot;">
×
×
  • 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.