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

Leaderboard

Popular Content

Showing content with the highest reputation on 05/19/2023 in all areas

  1. Изменение цены на дополнения. С 01.06.203 будет повышение цены на модуль SimplePars Вынужден сообщить что с первого числа я подыму цену на модуль так как текущая цена модуля уже не соответствует текущим реалиям. Хочу заранее сообщить что бы не для кого не было сюрпризом, и если кто то хотел купить модуль но сомневался или откладывал это решение, то сейчас самое время. Насколько будет увеличена цена пока сказать не могут. Так же напомню что последние повышение цены было в прошлой жизни -> 01.03.2021 Больше двух лет цена на модуль не двигались несмотря ни на что.
    4 points
  2. Существуют ли скрипты, чтобы на сайте был всплывающий ChatGPT в правом нижнем углу, там пользователь может задать вопрос о товаре?
    1 point
  3. Cтворити невеличкий інтернет-магазин можна всього за ~$100! Дізнайтеся, чим такий ціновий варіант відрізняється від середньоринкового за $400-$700?! Середні ціни на розробку інтернет-магазинів в Україні Цінові сегменти під час створення інтернет-магазинів можна умовно поділити на 4 групи: Low-Cost (~$200) — в цю ціну вписуються всього 2 можливі варіанти: або створити інтернет-магазин самостійно (купити шаблон і модулі), або це буде піратський набір з дошки оголошень (коли вам встановлюють сайт на варезних модулях і пропадають). Бюджетний ($400–$700) — фрілансери та студії-новачки. В основному це розробка на базі ліцензійного шаблону та модулів без особливого коддингу. Невідомо, як скластися з доопрацюваннями та кастомізаціями (вони можуть або не передбачатися, або триватиме дуже довго). Середній ($700–$1000+) — розробники із досвідом, які відповідають за свою роботу. Здебільшого це розробка магазину на шаблонах. Якщо робити унікальний дизайн, вийде дорожче. Преміум (від $5000) — це варіант для великого бізнесу, де багато часу приділяються будь-яким уточненням та узгодженням. Навіть у цьому сегменті бувають шаблонні варіанти. Висока ціна обґрунтовується високим ступенем невизначених моментів (наприклад пікова навантаження в кілька тисяч запитів за хвилину) і кількісттю інтеграцій (CRM, сервіси програм лояльності і тп). А чи можна створити магазин самостійно та взагалі безкоштовно? Взагалі-то система для управління інтернет-магазином OpenCart та її адаптована версія ocStore є безкоштовними. Будь-хто може завантажити програму та встановити на хостинг. Що правда, є деякі нюанси. Дефолтний шаблон OpenCart не дуже гарний. Стандартне оформлення замовлення — достатньо складне для покупця. Також з коробки нічого не пропонується з точки зору спрощення роботи. Наприклад, немає можливості імпортувати товари від постачальника масово, а вручну це може бути дуже довго. А ще є поліпшення SEO-моментів, і тому подібне. Тим не менш, все можна додати за допомогою розширень, які коштують достатньо дешево та в більшості випадків мають ліцензію з правом використовувати все життя без доплати кожного року. До речі, проведене мною раніше опитування клієнтів показало, що багато власників магазинів на базі OpenCart/ocStore встановили систему самостійно. А потім докуповували потрібні модулі та зверталися до підтримки автора за потреби. Саме в цьому спеціалізується сайт opencartforum.com. Це спільнота де є розробники та власники працюючих інтернет-магазинів. Тут можна ставити запитання та отримувати відповіді від інших користувачів. Отже, будучи учасником цієї спільноти, ви можете розраховувати на Low-Cost ціну з підтримкою від авторів доповнень. Від вас же в цьому випадку знадобиться комп'ютерна грамотність і засукати рукави, щоб вивчити систему та модулі. Приблизно це може займати 2-3 години кожного дня протягом декількох місяців. Скільки будуть коштувати додаткові модулі? Не всі інтернет-магазини однакові. Іноді сайт потрібен лише для того, щоб вже існуючи клієнти мали можливість переглянути каталог онлайн. А іноді він має синхронізуватися зі складом та API Нової пошти. Але давайте порахуємо якісь середньо статистичний мінімум розширень, які варто мати. Базовий функціонал Назва Ціна мін Ціна макс Примітка ocStore 0 0 Сама система з базовим функціоналом магазину: каталог товарів, кошик та ін. ocStore - це збірка на базі OpenCart з рядом покращень. Спрощення кошика $10 $20 Мова про модуль, який спрощує стандартну корзину системи. Користувачеві потрібно заповнювати менше інформації під час оформлення замовлення. AJAX Quick Checkout FREE - 0 — модуль, по суті, зроблений для реклами платної версії, тому не вважаю що його можна повноцінно використовувати. Нещодавно у нас на форумі з'явився новий модуль One Page Checkout - Просте оформлення замовлення за $10. Також схожу функцію виконує модуль Купить в 1 клик PRO - Быстрый заказ ще $10 — він дозволяє оформити замовлення прямо на сторінці товару через спливаючє вікно. Фільтр товарів 0 $34 У системі є фільтр зі слабким функціоналом. Знову ж таки, не всім магазинам він потрібен. Деякі примудряються робити фільтрацію за допомогою класифікації у категоріях. У випадку із книгами цілком може спрацювати, якщо категорії відповідатимуть жанрам. Навіть у магазині одягу можна класифікувати за чоловічими/жіночими/дитячими а потім уже зробити підкатегорії. Але в інших випадках параметрів для фільтрації може бути дуже багато і такий спосіб навряд чи підійде для товарів з чіткими технічними характеристиками (техніка). Вказана ціна за OCFilter. РАЗОМ $10 $54 Шаблон дизайну Оскільки серед безкоштовних шаблонів немає особливого вибору, краще відразу враховувати ціну платного варіанту. Платні шаблони виглядають гарніше, мають більше функціоналу. Але! Якщо ви хочете тільки спробувати, то краще не викидати гроші даремно та почати саме з безкоштовного шаблону. Назва Ціна мін Ціна макс Примітка 0 $65 Nice — шаблон явно кращий за дефолтний (який відображається відразу після установки системи). Однак він не багатий на додатковий функціонал. Плюсом є гарна адаптивна версія для телефону та наявність Мега-меню. Увага! На підтримку українського бізнесу один з наших авторів роздає свій комерційний шаблон безкоштовно! Називається Moneymaker. ShowCase — Для прикладу представлений популярний шаблон одеської студії OCTemplates, який, крім дизайну, має довгий список додаткових модулів. Серед них Мега-меню, Мікророзмітка, Знайшли дешевше?, Зворотній дзвінок та ін. Немає хіба що спрощеного кошика, хоча при цьому є Швидке замовлення в 1 клік. РАЗОМ 0 $65 SEO Назва Ціна мін Ціна макс Примітка SeoPro 0 $12 Модуль усуває дублі сторінок. У складання ocStore він вбудований безкоштовно. У разі чистого OpenCart необхідно докуповувати. Генерація ЧПУ 0 $15 SEO URL Generator FREE — модуль, який автоматично заповнює ЧПУ на сайті у разі, якщо товари додаються до магазину через адмінку сайту. Без цього треба вписувати вручну трансліт, що не дуже зручно. SEO URL Generator PRO — знадобиться, якщо ви імпортували товари (з програми складського обліку або xml-постачальника) і після цього виявили, що товар не має ЧПУ. Таке, до речі, не завжди відбувається. Багато модулів імпорту здатні заповнювати ЧПУ. Коректна двомовність 0 $11 Якщо сайт двомовний, то дуже важливо мати окремі адреси для того самого товару для кожної мови. Бо інакше, пошукові системи не зможуть просканувати всі мовні версії. Правильна двомовніть — це коли ви відправляєте посилання своєму другові, і він має бачити ту ж саму мову, що й ви. Для ocStore 3 кращім безкоштовним варіантом буде Мовні папки в URL. SEO мультиязык / мультирегион — платний модуль який підходить і для ocStore, і для чистого OpenCart. Цей модуль працює для різних поколінь системи. Sitemap 0 $15 У системі вже є стандартна мапа сайту (sitemap). Проблеми з нею виникають, коли понад 5000 товарів. Але це також залежить і від потужності сервера. Якщо проблема вже є, то виручить модуль Branched Sitemap. Автозаповнення тега Title та мета-тегу Description $5 $16.5 SEO - Автоматическая генерация title и description — більш дешевий та простий модуль. SEO Tags Generator — автоматичне створення тегів Title та Meta-Description для OpenCart — модуль з більшою кількістю можливостей, якій дозволє зробіть мета-описи максимально інформативними, як це рекомендує Google. Переклад на всі мови сайту (товари, категорії, статті) $15 $15 Модуль Переклад всіма мовами сайту (товари, категорії, статті) дозволяє використовувати інструменти Google-перекладача для автоматичного перекладу. Знову ж таки, не всі сайти двомовні. Однак у реаліях України переважна більшість сайтів зараз роблять двомовними. РАЗОМ $20 $84,5 Заповнення магазину Навряд чи Ви заповнюватимете сотні та тисячі товарів вручну. Слава богу, це й не потрібно. Можна імпортувати товари з XML, або скопіювати з інших сайтів (за допомогою парсера). Назва Ціна мін Ціна макс Примітка Масове додавання товарів $32 $40 SimplePars - Універсальний парсер для ІМ — $32 UniXML - модуль вивантаження в XML форматі + імпорт з XML — $40 * Не виключений варіант, коли на сайті використовуються обидва модулі. Масове редагування товарів 0 $30 Якщо під час парсингу щось піде не так: треба буде масово призначити переклад атрибутів або проставити націнку магазину — загалом може знадобитися модуль Handy Product Manager, щоб "зачесати" товари. Але може й не знадобитися. РАЗОМ $32 $70 Отже, якщо купити модулі і встановити їх самостійно, то за підсумками всіх блоків виходить загальна ціна створення інтернет-магазину від $62 до $273,5. Знову ж таки, маємо на увазі, якщо відразу використовувати нормальний платний шаблон, то мінімальна сума стає вже дещо більшою — $127. Якщо Вам не підходить варіант, коли треба робити все своїми руками, то подібний набір обійдеться в суму близько $500-$700, тому що сюди додасться "зарплата" програміста, який займатиметься Вашим сайтом. Кому підходить варіант створити інтернет-магазин самостійно? Серед покупців модулів хтось працює менеджером в торговельній компанії та хоче знайти собі додаткові канали продажів; в когось є своє виробництво та постійні клієнти, а магазин потрібен лише, щоб не перекидати екселі вручну; дехто має хобі з виготовлення якихось крафтових речей та хоче спробувати продавати їх через інтернет. А дехто взагалі тестує дропшипінг-модель, і йому зайві посередникі просто не потрібні. В принципі серед покупців є такі люди, які не мають бюджету на дорогі студії, але також є й такі, які торгують айфонами, але розуміють, що посередників все одно потрібно постійно контролювати та витрачати на це час, тому простіше вже купити та встановити самостійно. Який незаперечний плюс у тому, щоб робити самому? У вас автоматично з'являється бюджет ~$200–$400 на рекламу. Іноді витрати на рекламу стають болючим питанням, викликають купу сумнівів у тому, чи буде результат. Якщо ви зробите інтернет-магазин самостійно, то у вас автоматично буде сума, яку ви зекономили на послугах розробника. Отже, її не шкода втратити у разі чого. АЛЕ! Якщо реклама все ж таки спрацює, то у вас відразу ж буде віддача від ваших вкладень. Хіба це не чудово?! Але є дуже важлива деталь: у вас має бути час на те, щоб цим всім займатися! В такому разі можна спробувати. Але якщо ви плануєте за тиждень запуститися, а за 2 тижні вже мати перші продажі, тоді краще звертайтеся до розробника, якій все налаштує. Знову ж таки, знайти розробника ви також можете прямо на цьому сайті, розмістивши оголошення в розділі Послуги. P.S. У моїх підрахунках ціни створення інтернет-магазину не враховані витрати на хостинг та домен. Регулярна плата за хостинг буде коштувати ~200 грн/міс., тоді як домен .com.ua коштує 480 грн/рік. P.P.S. Друзі, якщо ви прочитали цю статтю і розумієте, наскільки це круто знати про існування ось такої спільноти та економити на послугах вебстудії — тоді, будь ласка, запостіть посилання на неї в себе в соціальних мережах. Можливо вашим друзям це також стане в нагоді.
    1 point
  4. Version 2.1 / 2.3.x / 3.0.x / 4.0.x

    15,287 downloads

    Повна українська локалізація магазину та адміністративної частини. Працездатність перевірена. Апострофи коректні. Відсутні будь-які копірайти у файлах перекладу. Відсутнє невиправдане використання великих літер і знаків оклику. Наприклад: "Вы вышли из Вашего Личного Кабинета" = "Ви вийшли з особистого кабінету" и "...благодарим Вас за регистрацию!!" = "...дякуємо за реєстрацію". Архіви і відповідність версіям OpenCart: ukrainian-clear-install_OC23.ocmod.zip - призначений для використання на чистій установці магазину на базі OpenCart версії 2.3.* ukrainian-ocstore_opencart-2.1.x.zip - призначений для використання на OpenCart або ocStore версії 2.1.* ukrainian-ocstore_opencart-2.3.x.zip - призначений для використання на OpenCart або ocStore версії 2.3.* ukrainian-ocstore_opencart-3.0.x.zip - призначений для використання на OpenCart або ocStore версії 3.0.* ukrainian_language.ocmod.zip - призначений для використання на OpenCart версії 4.0.1.1 language_ukrainian.ocmod.zip - призначений для використання на OpenCart версії 4.0.2.3 Установка: Скопіюйте вміст папки upload в корневий каталог вашого сайту. Перейдіть в меню Система (System) -> Локализация (Localisation) -> Языки (Languages) -> Добавить язык (Add New) Використовуйте наступні параметри для нової мови: Для версій 2.3.х та 3.0.х Назва: Українська Код: uk-ua Кодування: uk_UA.UTF-8,uk_UA,ukrainian Статус: Включено Для версії 2.1.х Назва: Українська Код: uk Кодування: uk_UA.UTF-8,uk_UA,ukrainian Директорія: ukrainian Зображення: ua.png Статус: Включено Після установки пакету локалізації необхідно додати переклад для всіх обов'язкових полів в налаштуваннях модулів, шаблону, тощо. Це необхідно для уникнення реєстрації помилок виду Undefined offset Для версії 3.0.х також необхідно додати ЧПУ для української мови всюди де це доступно (товари, категорії, статті, тощо) Установка на OpenCart 4.0.x Файл перекладу для версії 4.0.1.1: ukrainian_language.ocmod.zip Файл перекладу для версії 4.0.2.3: language_ukrainian.ocmod.zip Перейдіть в меню Extensions -> Installer Натисніть кнопку Upload та оберіть файл language_ukrainian.ocmod.zip Натисніть кнопку Install на доповненні "OpenCart 4 Ukrainian Language" Перейдіть в меню Extensions -> Extensions, оберіть тип доповнень Languages та натисніть кнопку Install доповнення "Українська локалізація" В процесі установки доповнення локалізації будуть внесені такі зміни у базу даних: - Додано SEO URL для української мови, з префіксом /ua (у разі її відсутності) - Додано валюту Гривня (у разі її відсутності) - Додано переклад назви групи покупців за замовчуванням - Додано переклад стандартних одиниць виміру - Додано переклад стандартних одиниць ваги - Додано переклад назв стандартних статей - Додано переклад стандартних опцій - Додано переклад стандартних статусів замовлень - Додано переклад стандартних статусів наявності на складі - Додано переклад стандартних статусів повернення - Додано переклад стандартних операцій повернення - Додано переклад стандартних причин повернення - Додано переклад стандартних тем подарункових сертифікатів 5. Перейдіть у налаштування перекладу та переведіть у стан Включено параметри "Статус перекладу" та "Статус модуля", та збережіть зміни 6. За потреби зробіть українську мову основною у налаштуваннях магазину: System -> Settings -> Налаштування магазину -> вкладка Local Після установки пакету локалізації необхідно додати переклад для всіх обов'язкових полів в налаштуваннях модулів, шаблону, тощо. Також необхідно додати ЧПУ для української мови всюди де це доступно (товари, категорії, статті, тощо) =================================== Додатково В архів з перекладом ukrainian-ocstore_opencart-3.0.x.zip поміщений файл для перекладу областей, статусів замовлень та іншого, з розділу Локалізація - localization.sql. Файл створений для застосування імпортом в phpMyAdmin. Він не інсталюється разом з модифікатором та не призначений для застосування інструментом імпорту в самому Opencart. Увага! При застосуванні файлу назви областей України будуть заміщені. Це означає, що області України будут названі українською незалежно від обраної мови інтерфейсу сайту. Інші зміни в БД будуть застосовані тільки для української мови, значення для інших мов залишаться незмінними. Файл ukrainian-clear-install_OC23.ocmod.zip призначений ТІЛЬКИ для використання на чистій установці магазину на базі OpenCart версії 2.3.* Оскільки даний пакет локалізації вносить зміни в базу даних, це може призвести до непередбачуваних наслідків в існуючих магазинах. Перед установкою пакету ОБОВЯ'ЗКОВО зробіть резервну копію бази даних. В установку включено: Порядок установки: Працює з: ocStore 2.1.* / 2.3.* / 3.0.* OpenCart 2.1.* / 2.3.* / 3.0.* / 4.0.* OPENCART.PRO 2.1.* / 2.3.* OpenCart Русская сборка 2.1.* / 2.3.* / 3.0.* Пропозиції та зауваження пишіть в тему підтримки. Запити на локалізацію шаблонів/модулів/доповнень - в особисті повідомлення. Зроблено з в
    Free
    1 point
  5. В Інтернеті зустрічається ствердження, що OpenCart застарів. Чи так це насправді? Що саме в такому разі є застарілим та як це впливає на ваш бізнес? Давайте розбиратися! Щоб розглянути це питання я запитав думку колег, “позалипав” в діалозі з ChatGPT, “пошустрив” інтернет та склав таблицю фактів. Вийшов дуже лонгрід, який варто читати лише під настрій 🙂. Для зручності, я виклав інформацію в зворотньому порядку: спочатку узагальнення з таблицями, а потім все решта. Зміст: Оцінка відповідності OpenCart сучасним вимогам користувачив Думка учасників спільноти Бесіда з Chat GPT за OpenCart Цікаві факти Оцінка відповідності OpenCart сучасним вимогам користувачив Варто зазначити, що перш за все я намагався оцінити OpenCart не з точки зору внутрішньої будови, а з точки зору використання користувачем. Адже є такій важливий принцип, що робочий продукт — перш за все. Або ще варіант: код – це не продукт, а хороший код – не породжує хороший продукт. Короче, морозиво я оцінюю за смаком під час його поїдання, звертаючи увагу на смак, а не ходячи по заводу морозива, та спостерігаючи, за технологічними процессами його виготовлення. Варто зізнатися, що коли в магазині я обираю морозиво, я ще не знаю, яке воно на смак. І тут мені на допомогу приходять певні “технічні деталі”: тобто я дивлюся на маркування ДСТУ, бо в одному випадку там має бути трохи справжнього молока, а в решті – чорт знає що. Так само і для вашого веб-сайту мають бути якісь стандарти, які потрібно врахувати. Відповідність OpenCart поточним веб-стандартам Перелік актуальних поточних стандартів взяті із сайту Mozilla – https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/The_web_and_web_standards Конфіденційність і безпека Ці два поняття пов’язані, але різні. Конфіденційність означає, що ви дозволяєте людям займатися своїми справами приватно, не шпигуєте за ними чи не збираєте більше їхніх даних, ніж вам це абсолютно необхідно. Безпека означає створення вашого веб-сайту безпечним способом, щоб зловмисники не могли викрасти інформацію, що міститься на ньому, у вас або ваших користувачів. Найяскравішими прикладами для цього пункту є: SSL – OpenCart будь якої версії працює з безпечним сучасним протоколом. Паролі користувачів в базі даних зберігаються в захищеному вигляді Раніше модуль авторизації викоритовував методи хешизації паролів md5() и sha1(). В OpenCart 4 використовується більш надійні та сучасні функції password_hash() та password_verify() Врахування чинного законодавства при обробці даних. Наприклад, GDPR. Для OpenCart 3 доступні розширення. В OpenCart 4 є модуль з коробки. Адаптивний веб-дизайн Є завдяки Bootstrap. Клієнти можуть переглядати ваш магазин з телефону. Немає питань. Хоча в OpenCart 3 використовував застарілий Bootstrap 3, це взагалі не помітно для користувача. Також деякі розробники шаблонів використовували більш сучасні версії. OpenCart 4 використовує останню версію Bootstrap 5. Кросбраузерність Щоб дії із сайтом були доступні також в різних браузерах використовується бібліотека jQuery. Вона не вважається просунутою з точки зору сучасного програмування, але свою роботу виконує. Так само в OpenCart 3 використовується застаріла версія, а у четвірці – актуальна. Швидкість завантаження Оозначає якнайшвидше завантаження веб-сайтів, але також інтуїтивно зрозумілі та прості у використанні, щоб користувачі не розчарувалися й не пішли кудись ще. Швидкість сторінок не так вже й сильно залежить від CMS. Є багато факторів: Кількість товарів в базі даних. Чим більше товарів, тим уповільнюється їх сортування в базі. Кількість встановлених модулів, які використовуються на сторінці та роблять запити до бази Параметри серверу (або хостингу) – чим він слабший (або переповнений сусідами), тим гірше буде працювати ваш сайт Кількість одночасних відвідувань сайту Розмір зображень та використання webp. Краще не завантажуйте фото з розмірами більше 900px, бо вони будуть важкими. Наявність шрифтів на сторонніх ресурсах (Google Fonts) – залежить від шаблону. Більш-мень залежними від CMS є: Методи оптимізації веб-сторінок (на кшатлт Lazy loading та інше) – не запроваждені для прикладу в дефолтному шаблоны OpenCart, але реалізуються авторами шаблонів Структура бази даних OpenCart спроектована саме під магазини, і це трохи краще, ніж в разі використання CMS загального значення для створення магазину. SQL-запити – якщо відредагувати кілька SQL-запитів, то OpenCart тягне досить велику кількість товарів. Ситуація, коли користувач жаліється на проблеми зі швидкістю з 300 товарами (а я десь зустрічав таке обговорення) – це нонсенс. Знаю точно, що деяки люди, читаючи про невибагливість цієї CMS, беруть найдешевший хостинг. Потрібно брати хороший хостинг, що все одно дешевше, ніж оренда сервера. Кешування – в OpenCart вбудований слабкий механізм кешування, є модулі, які покращують це. Кешування буває різним. Але суть така, що замість запиту до бази даних (а в динамічному сайті кожне відкриття сторінки означає нові запити) використовуються вже знайдені під час попереднього відкриття (іншим користувачем) дані, які, скоріше за все, не встигли змінитися. Найбільш ефективним є кешування сторінки категорії, коли замість сортування серед тисяч товарів, робиться запит про дані поточної категорії, та відображається відповідна їй вже підготовлена сторінка. Варто зазначити, що можливе також кешування на рівні серверу бази даних, але це доступно в разі VPS/VDS, а не звичаного хостингу. Доступність Означає зробити ваші веб-сайти придатними для використання якомога більшою кількістю різних типів людей (пов’язаними поняттями є різноманітність і інклюзивність, а також інклюзивний дизайн). Це стосується людей з обмеженими можливостями: як люди з вадами зору, так і люди з ненадійним або повільним з’єднанням з мережею. В OpenCart нічого не зроблено для забезпечення більшої доступності магазину серед людей з обмеженими можливостями. Але це загалом не дуже розповсюджена штука. Інтернаціоналізація Означає зробити веб-сайти придатними для використання людьми з різних культур, які розмовляють різними мовами. Тут є технічні міркування (наприклад, зміна вашого макета, щоб він все ще добре працював для мов із написанням справа наліво або навіть вертикальних мов) і людські (наприклад, використання простої мови без сленгу, щоб люди, які знають вашу мову оскільки їхня друга або третя мова, швидше за все, зрозуміє ваш текст). В OpenCart є мультимовність. Немає RTL (що не дуже актуально для України). Інші важливі технічні моменти Можливість фізично запустити з актуальною версією PHP У OpenCart 2 є проблеми із запуском на PHP 7.2 та вище. Хоча насправді проблема фіксиця досить легко, і потім все решта працює. Але все ж таки без танців з бубнами воно тупо не запускається. То, мабуть, це приклад прямої технічної неробочості в заданих умовах. Також зазвичай на хостингу можна перемикати версії PHP і запускати OpenCart 2 на більш давніх версіях PHP. Але з міркувань безпеки робити це не рекомендуеться. Адже старі версії мови не виправляються. А як можна побачити, вразливостей в PHP може бути достатньо – https://www.cvedetails.com/product/128/PHP-PHP.html?vendor_id=74 Наразі оновлюється лише версія PHP 8+ – https://www.php.net/supported-versions.php . OpenCart 3.0.3.8 працює з PHP 8. Для OpenCart 4 саме ця версія мови заявлена в системних вимогах. В ocStore 3.0.3.7 на PHP 8 шаблонізатор Twig “свариться” на Deprecated методи. Хоча, фіксиця досить швидко. Не виключено також, що помилка вже також пофіксина в самій збірці (після моменту написання цих рядків). Можливість запустити на віртуальному хостингу Звісно, деякі інші платформи електронної комерції також можна запустити на віртуальному хостингу, але працювати вони будуть повільніше, ніж опенкарт. Все через те, що він побудований на досить простому коді, якій при цьому потребує меньших ресурсів. Використання двигуна MyISAM для бази даних Хоча цей механізм зберігання даних досі підтримується, він має суттєві недоліки у порівнянні з InnoDB. Головним недоліком є цілісність даних та блокування цілих таблиць під час редагування всього одного запису. Як це впливає на магазин? По-перше, можуть бути неточності залишків товарів. Хм, до речі, а постачальних вам взагалі дав точну кількість запасів, чи потрібно під час замовлення перевіряти? Ви зрозуміли до чого я – що технічна можливість вести точний облік не гарантує, що він буде вестися. По-друге, це означає, що коли ви робити будь які масові дії із сайтом (імпорт, крон-завдання), блокуються цілі таблиці в базі. Користувачі мають зачекати, коли оновлення завершаться. Використання InnoDB не потребує додаткових витрат на хостинг. І це можна замінити без наслідків прямо в phpMyAdmin. Звісно це автоматично не ввімкне таку перевагу цього двигуна, як використання транзакцій (що може забезпечити правильний облік залишків товарів), але принаймні сайт не буде блокуватися клієнтам, коли ви щось редагуватимите. До речи в OpenCart 4 використовується InnoDB. Але не певен що там вдосконалити корзину, щоб правильно рахувати залишки. В будь якому випадку торгівельні компанії використовують окремі інструменти складського обліку та CRM-системами, з якими інтегрують магазин. Юзабіліті Drug & Drop Коли є Drug & Drop, ми маємо вручну проставлянням індекси, щоб сортувати порядок категорій, товарів. Можна сказати, що це застарілість інтерфейсу. Але є модулі, які щось там допомагають відсортувати, взагалі іншим чином, а не через використання вбудованого сортування. До речи, це ще добре, що в ocStore той Drug & Drop доданий для сортування товарів в модулі “Рекомендовані”. Бо інакаше доводиться видаляти кілька товарів, щоб потім знову їх додати після іншого товара, які став актуальнішим. Так само в ocStore Drug & Drop додано перетягування в Макетах. Хоча, редагування макетів виконується досить рідко, все ж таки простіже перемістити, ніж видаляти-додавати. Ефект безперервної дії Через обмеження людської уваги, робота, як потребує перерватися на іншу дію (перейти на іншу вкладинку) надмірно завантажую людську память. В OpenCart достатньо таких речей, коли ти редагуєшь товар або модуль, маєш що почати писати для автокомпліта, але ти ж не пам'ятаєш всі ті назви товарів та атрибутів. Так, під час заповлення атрибутів в товарі, потрбіно відкрити нову вкладинку з атрибутами та подивитися, які атрибути в тебе які назви мають. Але не певен, що на інших платформах такі речи реалізовані якось дуже інашке. Хіба що іноді буває закріплення набору атрибутів до всієї категорії, щоб не робити це для кожного товару по десяту разів. В OpenCart для такого є модуль. З цієї ж опери: вибір товарів в будь якому модулі (на кшталт Рекомендованих). Потрібно обирати по назві. Це досить незручно (особиво, коли назви товарів дуже схожі). Було б цікавіше, ящко б там спливало вікно та можно було побачити назву і фото товару. А також відфільтрувати за категорією, щоб не ходити на вітрину та не шукати потрібний товар з підходящим фото. В зарубіжних шаблонах досить поширеним є власний Page Builder та редагування налаштувань модуля через модальне вікно в налаштуваннях макету, щоб не потрібно було перемикати вкладинки. Це прості речі, які також впливають на втому людини та на враження складності або застарілості OpenCart. Знову ж таки, людина звикає до всього, якщо регулярно тренується Тобто, це питання звички. Відсутній вбудований механізм масового редагування товарів, категорій. Але є модулі для масового редагування товарів. Що до категорій – був модуль, але наразі відсутній на форумі. Асистент налаштування (Installation Settings Wizard) Буває таке, що ти встановлюєш якусь програму, і вона тобі влаштовує покроковий збір налаштувань: додай номер телефону, додай email, вкажи назву, додай валюти. Тобто ці всі дії виконуються одним разом і тобі взагалі не потрібно напружуватися, думаючи, які дані потрібно заповнити. В OpenCart подібний покроковий асистент був в модулі SimpleCheckout, якій наразі на форумі не продається через російське громадянство його автора. Також бачив цікавий приклад, коли встановлюєш розширення для Google Analytics, і воно комунікує з Google по API, і ти просто клацаєшь кнопочки, замість того, що сидіти та стресувати перед екраном, дивлячись в ту кляту аналітику. Нажаль, в OpenCart такого немає. З іншого боку – це потрібно один раз зробити і можна видихнути. Оновлення В OpenCart відсутній механізм оновлення системи. Тільки переустановка та перенос даних. В четвірці є зачатки оновлень з адмінки. Філософські питання Це не стільки про сам OpenCart, скількі про “середовище”, в якому перебуває користувач, коли працює з системою. Інструкції, документація, база знань Є форум, є блоги, де можна знайти відповіді на запитання. Є також офіційна документації англійською мовою. Там навідь є відеоуроки. Але немає пошуку по документації. Є також документація для ocStore російською мовою, яка, здається, потребує деякого оновлення, але всі базові принципи вона описує – https://docs.ocstore.com/index.php?title=%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F Чесно кажучи документація не створює позитивне враження. І справа не лише в дизайні DokuWiki, але й в тому, що довжина рядка сильно впливає на втомлюваність очей. Загальновідома рекомендація, що текст для читання має мати не більше 80 символів на рядок. Це створює не дуже хороше враження. Але я не певен, що хтось туди взагалі заходить. Інакше, мабуть були би нарікання від користувачів, а так наче немає. Є навіть відео огляди для деяких модулів та покрокові інструкції, як встановити на хостинг самостійно. Наявність достатньої кількості сучасних шаблонів Хоча, на колір та смак всі фломастери різні, але будь-який користувач може відрізнити сучасне оформленні від оформлення 90-х. У нас на форумі є з десяток сучасних шаблонів дизайну, але на зарубіжних маркетплейсах їх більше. Причому зарубіжні шаблони роблять акцент на красі (в більшості випадків головної сторінки, але не сторінки товару) та тематичного оформлення під різні ніші. В нас більше універсальних шаблонів, де не завжди зрозуміло, як це буде виглядати з вашою тематикою. Але багато наших шаблонів мають велику кількість додаткової функціональності, тож можна зекономити на певних модулях. Застарілий підхід до обслуговування платних рішень деякими авторами модулів. Як хтось це називав “радянський підхід”: бери поки не дали по шапці. Дійсно, ми всі різні. У кожного долбо… розробника своя метода… Не до всіх і одразу доходить, що ми тут не просто виконуємо роботу, та продаємо свій продукт, але ще й є обличчям OpenCart (як от до мене наприклад не одразу дійшло). Це проблема в області Soft skills окремих людей, але не Opencart. Опанування гнучких навичок, до речі, це дуже сучасна “тема”, яка може привнести ковток свіжого повітря. Варто також зазначити, що гнучких навичок іноді не вистачає як розробникам, так і власникам магазинів. Багато з нас тут, насправді, – полулюбителі, тож без образ. Але, як варіант у суперечливих питаннях, щоб зберегти собі нерви, клієнти можуть спробувати проявити свої менеджерські якості, як от конструктивна критика, постановка завдань з конкретизованим описом, повага до неробочого часу працівника, тощо. Знову ж таки, щоб отримати високу якість обслуговування більш гарантовано, достатньо поєднати OpenCart та web-студію. Там є окремі люди, які займаються клієнтами, поки інші кодять (або купують модулі). Тож там ви можете розраховувати на справжній сервіс, якщо саме це є для вас пріоритетом. Економічна сторона питання Доступніть для старту OpenCart не можна назвати дійсно безкоштовним, тому що без розширень далеко не поїдешь. Але це все одно дуже доступно у порівнянні з подібним коробковим софтом. Так само це доступніше у порівнянні розширень для інших CMS, за які часто потрібно платити щорічно. OpenCart є майже ідеальним для тестування бізнес-ідеї, коли ви ще не знаєте, чи вийде з цього щось, чи ні; та хочете протестувати з мінімальним бюджетом. Швидкість запуску Можна запустити магазин за кілька днів. Але тільки, якщо ви вже добре знайомий із системою. Ну або якщо наймете розробника, щоб він все налаштував. Тоді це вийде вже трохи дорожче, але все одно ще не так вжей й дорого, як для бізнес-рішення. Знову ж таки це все за однієї умови: якщо використовувати готові рішення. А якщо: не хочу так, як є, а хочу так, як ось на тому сайті (хоча немає ніяких доказів, що це допомагає продавати), то швидкий запуск відмінюється. Та і дешевість готових рішень тут не дуже вже актуальна, бо потрібно щось доробляти. Також швидкий запуск сайту не гарантує вам, що потім ви так само швидко зможете вивчити всі нюанси роботи. Для цього потрібен час, особливо, якщо раніше ви не працювали з адмінками сайтів. Наявність готових інтеграцій Нова пошта, оплата через сервіс Приватбанку, Монобанку, Ощадбанку та інші методи, інтеграція з KeyCRM, УкрСклад, вигрузка на Prom, Rozetka тощо. Для всіх популярних сервісів є готові рішення. Наявність виконавців для вирішення завдань Взагалі є досить багато розробників, які працюють з Опенкарт. Але досить часто виникають труднощі знайти бажаючих зробити мілку роботу. Бо ціна розширень створює враження, що дешевим має бути все. Але робочий час, вже не такий дешевий, як готове рішення, яке вже написане. Масштабування На певному рівні зростання вашого бізнесу OpenCart може втратити свою значну економічну перевагу. Ок. Але до цього моменту, напевно, ви щось вже заробите. Також ви вже будете точно знати, що це працюючий бізнес, а не просто їдея. В такому разі вкладання грошей – це нормальний процес. Тим паче, що масштабування з іншими системами точно не вийде дешевшим. Думка учасників спільноти - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @SooR Якщо коротко – ні, не застарів. Якщо детально, то "застарів" трохи неточне визначення. Застарів для кого? Застарів для чого? OpenCart підтримує класичну модель ecommerce, яка вже багато років не змінюється. Можна сказати, що вона застаріла? Ні, тому що вона працює і не має жодної різниці який у неї вік. Якщо у технічному сенсі, то є досі купа магазинів на 1.5, коли ефект старизни корелює з асортиментом, цінами, рекламою, довірою і рейтингом магазину. Може скластится враження, що у OpenCart застарілі погляди на деякі рішення стосовно коду і алгоритмів, але він написан "методично", з дотриманням чітких правил і "внутрішньою релігією", якщо можна так сказати. Так, в OpenCart не вистачає дуже багато речей, на щастя автори це розуміють і з кожним поколінням версій намагаються спростити інтегрування розширень у систему. Все інше залежить від нас: розробників, маркетологів, дизайнерів та інших. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Sha Хіба-що зовсім трішки!) А так: дивлячись для чого він потрібен. З одного боку якщо звернути увагу на технології, котрі використовуються, то – десь плентається зовсім кволо позаду. З іншого – впевнено тягне на собі магазини, та потребує найменших витрат. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Exploits Стосовно застарів чи ні. Можливо і застарів, бо код та дизайн вже роками не змінюється. Але з іншої сторони функціонал можна розширить модулями, а дизайн – шаблонами. Тобто з коробки він так – застарівший, але і що з того? Купа магазинів чудово працюють на опенкарт. Це як база проста та примітивна, як то кажуть, а все, що потрібно можна розширить доповненнями. В цілому не бачу в цьому проблеми. Робота поки є для розробників. Мені навпаки такий підхід до вподоби, бо база не перегружена зайвим, і немає складності як наприклад в якомусь комбайні, де все є, але поки розберешся, то голову зламати можна. Тим паче якщо б це була якась платна платформа, де в базі вже є купа всього, то багато з того, що там є, більшістю користувачами не використовується. А тут кожен розширює функціонал так, як йому потрібно. Я в цьому не бачу проблеми. Так, можливо добре було б щось вже вдосконалить за роки, проте не ми розробники опенкарт, і ми не зможемо це змінить. Поживемо побачимо як буде. На даний момент у мене роботи з ним вистачає, і це основний мій дохід. Можливо ще відчувається те, що з рфієй багато хто не працює (наприклад я), і дохід просів, але тут не в застарілості ОС справа, а просто менше аудиторії тут на форумі. Якось так. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @octemplates Взагалі не відчуваю якось зниження популярності Opencart. Будуть у нашої української спільноти круті доповнення – Opencart ніколи не застаріє. Я побачив, що більшість топ модулів які були топом навіть ще до повномасштабного вторгнення рф у 2022 році – розробили українці. І це чудово вважаю Тому треба розвиватися і йти далі, бажано в одну ногу з розвитком нових версій Opencart. Я думаю, реклами самого Opencart в середині країни нам трохи не вистачає. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @RGB Залежить від того, як ми розглядаємо OpenCart – як програмне забезпечення чи як інструмент для створення і роботи інтернет-магазинів. У першому випадку відповідь буде стверджувальна, тому що технологічно OpenCart залишився у минулому десятиріччі і ніякий bootstrap 5 [в OpenCart 4] принципово нічого не змінює. Але якщо ми розглядаємо саму систему не як стек технологій та полігон для опанування новітніми фреймворками, а як інструмент, то відповідь буде негативною, оскільки доки інструмент виконує свої функції – він не може застаріти. Це як порівнювати джезву та сучасну кавомашину. Ви можете зварити чудову смачну і запашну каву за допомогою джезви, якій вже сотні років – і ви можете необачно “натицяти” кнопочки вашої надсучасної Делонгі та зварити помиї з першокласної арабіки, бо встановили невідповідний помел та обрали занадто великий об'єм напою. Звісно, важливим при цьому є не лише принципова можливість виконання своїх функції (на osCommerce теж, мабуть, і досі можна створити магазин, але хто ним буде займатись?), а і наявність готових доповнень, виконавців та попиту на їх послуги, т.т. наявність ком'юніті, яке у нас поки що є, але з наявною динамікою і підходом до його розвитку малоймовірно, що воно буде зростати у довгостроковій перспективі. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @chukcha Це також як php мертвий. Мінус, як уже ти сам писав, це справді потужні хмарні сервіси та реклама. Приклад того ж [вилучена комерційна назва]. Що таке застарів? Застарів для кого? Які вимоги новизни? Застарів для "ледачих" розробників, які на кожен чих щось шукають на гіті? Мінусів у ОС овербагато, але їх і овербагато в інших двигунах. Хоча б подивитися у WP. Там кожен плагін тягне свої залежності… На жаль, у ОС немає єдиної системи версійності, як движка, так і до php. Наприклад мені потрібна guzzle. Куди мен її пхати? до себе? чи у vendor? Але є ліби, наприклад, той від ФБ котрий також використовує гузлу, а вона підвантажена, і каже: “Ой! *ня – там стара версія!”. А оновити її не можна, тому що злетить, та яка була раніше встановлена… - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Flint2000 От що застаріло, то це php-nuke ))). Хоча у мене один сайт працює на цьому диві. На мою думку – опенкарт це система, яка має надавати можливість продавати і заробляти гроші. Якщо функціональність цієї системи підтримується спільнотою, є певний розвиток – то він не застарів. Тим паче в розробці – це дуже дешеве рішення розвернути повноцінний магазин. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @buslikdrev 1.5 застарів насамперед для розробника, він не цікавий у порівнянні з 2.Х+, коли є bootstrap, події. А користувачу має бути неважливо. Але так як нові модулі не робляться багатьма [розробниками] для 1.5, то вони будуть вибирати вище 1.5 (залежно від нового шаблону 3.Х+, який сподобався). Ну і за неусвідомленістю [встановлюють] останню версію, адже новіше для них це круто. Загалом OpenCart 2.Х+ не застарів. А у когось у модулях свій дизайн налаштувань модуля, то навіть 1.5+ не застарів. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @aridius Я на жаль не стежу за розвитком інших CMS, як на мене, головна проблема OpenCart не в тому, що він застарів. Так в ньому використовується Bootstrap 3, jquery 2, але звичайний користувач навіть цього не знає, а розробники можуть впровадити більше свіжі версії. Вважаю головною проблемою: -Реклама самого OpenCart -Не раз чув тих, хто купив з opencart.com про індуський код і викинуті гроші - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @markimax Серед інших php e-commerce систем він не застарів, а найкращий вибір і альтернативи немає. А ось то, що чудить Даніель... це 3.14 І... якщо ти змінив ocmod на events, так дай events і на бібліотеки (котрі нахрін не треба – див. нижче) І зроби сучасний код. а не простирадла лайнокода Зміни моделі, щоб можна було редагувати запити через методи окремі наприклад ->select('...') ->join('...') ->where .... А контролери замість простирадла "переведи" на методи, щоб events вішати не на весь контроллер, а можна було б на кожен метод Типу: public function index() { return $this ->start() ->load_language() ->header() ->breadcrumb() ->main() ->positions() ->output(); } А я б зовсім прибрав би library замінив би на контролери їх. Ось навіщо бібліотека response, url, cache та т п ...? і без registry і без events ... зовсім не лізе в архітектуру і філософію опенкарт. Залишив би тільки library до кастомних бібліотек розробників. Коротше Даніель щось "заліпає" та веде опенкарт не туди. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @29aleksey Ну, якщо порівнювати версії, то краще вже працювати на старому 2.3 і 3, ніж на "новому" Opencart 4. Я б вважав новою таку версію, в якій був би + react. А те, що вони там зараз зробили у 4 версії, – це пекло для розробників. Навіть якщо порівнювати Opencart з Magento, то в Magento теж не було спочатку react. Але, здається, з другої версії вони його туди вже "впхнули". Так що, я думаю, якби там був react, то було б гуд: багато хто б підтягнув свої знання в цьому, вся ця справа працювала би в рази швидше. Але, напевно, цього ніколи не буде) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @ocdev_pro OpenСart не застарів, він помер. Справа в тому, що в усьому іншому світі крім Індії, СНД та Південної Америки ніхто не чув про таку платформу. Думаю, його популярність з кожним роком падатиме. Якщо ми беремо сегмент швидких проектів за три копійки, то в цій ніші він ще поживе. Одвічні проблеми опенкарт з SEO, оптимізацією запитів та іншого добра не робить йому честі. І навіть якщо взяти opencart 4, який я кручу останні місяці 3, в ньому тільки поверхово реалізовано автозавантаження та підтримка php 8. Ще один мінус: з боку захисту ніяких покращень не вироблялося, серйозні проекти це не про opencart. Якісна розробка під opencart це від 20$ + годину, при загальному бюджеті на проект, можна зробити щось більш захищене і заточене під потреби бізнесу, скажімо на Laravel + Vue.js - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @OCdevWizard З OpenCart я пряцюю більше 10 років, познайомився з ним ще з перших релізів, зробив багато чого, і навіть коли в світ вийшла його 4-а генерація – я можу сказати що прогрес тут занадто повільний. Фактично що ми бачимо: щось змінили по дизайну, щось поправили по безпеці, зробили підтримку PHP 8, нарешті зробили сабміт форм по ajax, і нарешті переробили процесс оформлення замовлення (на хвилинку цей рушій націлений саме на ecommerce, де б здавалося процесс оформлення замовлення з кошиком чи не найважливіше? що там повинно бути зручним для покупця, але то таке...). Звісно це не всі зміни але цього не достатньо. Я не згоден з філософією Даніеля, що рушій написаний так щоб він був не складний для джуна, натомість рушій й до цього часу не має своєї ORM. Для мене такий підхід звучить доволі смішно, я думаю що навпаки якби рушій вбирав в себе те, що для інших "мастхев", то так чи інакше, але програмісти, які працюють з цим рушієм, підтягнули б свою скіли, і в результаті рушій був би ліпший. І ті хто з ним працює, отримували би нові навички, ситуація win-win. Стосовно мене, то я вже деякий час назад перейшов на фреймворк django/flask. Вивчити документацію по Django ORM – це не так і складно, якщо є бажання. Звісно я не відмовлюся від використання OpenCart, але я все менше обираю його для проектів. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @Prorab337 Не думаю, що застарів. Точніше сказати десь застряг, але має свою нішу. І варто ознайомитись зі статистикою, якщо не зраджує пам'ять то опенкарт показує стабільний ріст в екомерсі -- https://www.linkedin.com/posts/opencart_ecommerce-activity-7034151683047751680-pjQm?utm_source=share&utm_medium=member_desktop – (в даній статистиці від офіційної сторінки OpenCart в LinkedIn наводиться позитивна динаміка популярності OpenCart, що йде врозріз із даними Google Trends. Можливо там враховується зростання загальної кількості магазинів, які відкрилися раніше і продовжують працювати на OpenCart разом з якоюсь кількістю нових магазинів, але це лише припущення – па) Я заробляю кошти на цьому, тому мені все подобається, хоча розумію що потрібно багато чого покращувати. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @whiteblue У опенкарт було величезне російськомовне ком'юніті. Але війна розірвала зв'язки та розвиток опенкарт сповільниться. Не бачу плюсів магазину на Ларавелі перед опенкартом від слова зовсім. Навіщо винаходити велосипед? Більш цікавими є високонавантажені системи з асинхронними завантаженнями та js бібліотеками. Тут була гілка, де хлопці збиралися реалізувати аналог опенкарт на високонавантажених системах. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Бесіда з Chat GPT за OpenCart * Примітка Як зрештою мені відповів ChatGPT, “точність відповідей залежить від рівня запитань та доступності відповідної інформації в базі знань моделі. ChatGPT є одним з найбільш потужних мовних моделей, створених на сьогоднішній день, і може відповідати на різні запитання, включаючи загальну інформацію, факти, концепції, думки та досвідчені рекомендації. Загалом, точність відповідей ChatGPT може бути досить високою, але завжди рекомендується перевіряти та перевіряти інформацію, надану моделлю, за допомогою інших джерел, особливо в тих випадках, коли потрібна висока точність. – Чи застарів OpenCart? – Як на моєму поточному рівні інформації (вересень 2021 року), OpenCart не можна назвати застарілим. OpenCart є однією з популярних систем керування електронною комерцією (CMS) і має велику спільноту користувачів та розробників. OpenCart має деякі переваги перед іншими CMS, такими як простий інтерфейс, широкий вибір розширень та можливість працювати з багатьма платіжними шлюзами та засобами доставки. Проте, слід зазначити, що існує постійний розвиток і покращення в галузі електронної комерції, і інші платформи також мають значну популярність. Вони пропонують більше сучасних функцій і можуть відповідати потребам більш широкого спектру бізнесів. – Яких саме сучасних функцій немає в Опенкарт? – Ось кілька прикладів таких функцій, які можуть бути відсутніми в OpenCart. Деякі сучасні платформи електронної комерції використовують інтелектуальний аналіз даних і машинне навчання для створення персоналізованих рекомендацій для користувачів на основі їхньої історії покупок та інших факторів. Маркетплейс: Деякі платформи надають можливість створення маркетплейсу, де кілька продавців можуть продавати свої товари на одному сайті. Це вимагає додаткової функціональності для керування продавцями, комісіями, рейтингами тощо. Штучний інтелект і чат-боти: Деякі платформи електронної комерції використовують штучний інтелект і чат-боти для автоматизації обробки замовлень, надання підтримки клієнтам та розробки персоналізованих пропозицій. Глобалізація: Зростання міжнародної електронної комерції ставить нові вимоги до платформ. Деякі сучасні рішення мають вбудовану підтримку міжнародної локалізації, калькулятори міжнародної доставки, підтримку різних мов та валют. Важливо зазначити, що OpenCart має велику спільноту розробників, і для багатьох з цих додаткових функцій можуть бути доступні сторонні модулі або розширення. Якщо вам потрібні певні сучасні функції, які відсутні в базовій версії OpenCart, ви можете розглянути пошук відповідних розширень або звернутися до розробників для індивідуального розробки модулів, що відповідають вашим потребам. – Ти порівнюешь OpenCart з інструментами, де є машинне навчання, створення маркетплейсу. Хіба це один рівень бізнесу? Я маю наувазі, бюджет власника магазину, форму бізнесу і тд. – Ні, OpenCart і інструменти створення маркетплейсу не є одним рівнем бізнесу. OpenCart – це готова платформа для створення інтернет-магазину, яка підходить для початківців та невеликих бізнесів з обмеженим бюджетом. Однак, бюджет власника магазину не є єдиним фактором, який впливає на вибір між OpenCart та іншими інструментами. Інші фактори, такі як розмір компанії, обсяг продажів, потреба в певних функціях та інші, також важливі. Тому перед вибором платформи для свого бізнесу, власник магазину повинен зважити всі переваги та недоліки кожної опції та знайти те, що найкраще підходить для його конкретної ситуації. – Чи може OpenCart бути використаним великою торгівельную кампанією? – Теоретично, OpenCart може бути використаний великою торгівельною компанією. Однак, при виборі платформи для великого масштабу торгівлі, є кілька чинників, які слід враховувати: Масштаб та обсяг: Велика торговельна компанія може мати великий обсяг товарів, клієнтів та транзакцій. Потреба у потужних функціях управління інвентарем, масштабування, оптимізації продуктивності та швидкості роботи може виникати. OpenCart має обмеження у цих аспектах, і для великих компаній можуть бути більш підходящі альтернативи. Розширення та інтеграції: Якщо велика компанія має специфічні вимоги до функціональності або інтеграції з іншими системами, може бути потреба у власному розробленні модулів або значних змінах в OpenCart. Це може вимагати додаткових ресурсів, часу та коштів. Підтримка та розвиток: OpenCart має активну спільноту розробників, але враховуйте, що підтримка та розвиток можуть бути менш інтенсивними порівняно з комерційними платформами. Для великої компанії може бути важливо мати надійну та швидку підтримку, а також доступ до оновлень та нових функцій. У певних випадках великі торговельні компанії можуть вирішити скористатися іншими ентерпрайз-рішеннями або спеціалізованими платформами, які спеціально розроблені для великого бізнесу. Такі платформи зазвичай мають більш широкий функціонал, високу масштабованість та підтримку для підприємств зі значним обсягом торгівлі та специфічними потребами. Вони можуть забезпечувати більшу надійність, безпеку, масштабованість та інтеграційні можливості, які є критичними для успішної роботи великих торговельних компаній. В таких випадках, замість OpenCart, компанії можуть розглянути використання ентерпрайз-рішень, спеціалізованих платформ електронної комерції або розробку власних рішень, що відповідають їхнім унікальним потребам та бізнес-вимогам. – Для якої цільової аудиторії користувачів OpenCart підходить краще за все? – OpenCart зазвичай підходить для невеликих і середніх підприємств або індивідуальних підприємців, які розпочинають свій бізнес в сфері електронної комерції або мають обмежений бюджет. Основні цільові аудиторії, для яких OpenCart може бути найбільш підходящим варіантом, включають: Малий бізнес та стартапи: OpenCart є простою у використанні та доступною платформою, що дозволяє швидко запустити електронний магазин з мінімальними витратами. Він підходить для невеликих команд та бізнесів, які тільки починають свою діяльність. Індивідуальні підприємці: Оскільки OpenCart є відкритим джерелом і має широку спільноту розробників, це може бути привабливим варіантом для індивідуальних підприємців, які мають обмежений бюджет і можуть залучити розробників для налаштування та підтримки свого магазину. Магазини з невеликим асортиментом: Якщо ваш магазин має невелику кількість товарів або обмежений асортимент, OpenCart може бути зручним варіантом. Він простий у використанні для управління невеликим каталогом продуктів. Важливо зазначити, що це загальні рекомендації, і вибір платформи електронної комерції повинен бути зроблений на основі унікальних потреб і характеристик вашого бізнесу. – А якщо бізнес розпочато на OpenCart, і магазин має комерційний успіх, чи варто в такому разі переходити на інші платформи після зростання? – Перехід на іншу платформу електронної комерції, однак, може бути складним технічним процесом і вимагати певних зусиль і ресурсів. Перед прийняттям рішення про перехід, ретельно оцініть свої потреби, бюджет, технічні можливості та ризики, пов'язані зі зміною платформи. Також, перед переходом на нову платформу, рекомендується зробити детальний аналіз ваших поточних процесів, налаштувань і даних, і розробити чіткий план міграції, щоб забезпечити безперебійну роботу вашого магазину під час переходу. – Ми трохи відуліклися. Повернімося до основної теми. Я так і не зрозумів: що саме застаріло в OpenCart? – OpenCart – це популярна вільна система управління електронною комерцією, яка має багатий набір функцій для створення та керування онлайн-магазинами. Однак, існують деякі аспекти, які можуть бути вважаються застарілими у цій платформі. Один з найбільш очевидних недоліків OpenCart – це відсутність вбудованих інструментів для редагування продуктів та категорій в масштабі масової обробки. Це означає, що, якщо вам потрібно змінити багато продуктів або категорій, вам потрібно буде робити це вручну або використовувати сторонні розширення. Ще одним недоліком OpenCart є обмежені можливості вбудованого SEO. Платформа не має всіх необхідних інструментів для оптимізації сайту для пошукових систем, і вам може знадобитися використовувати сторонні розширення для досягнення більш ефективного SEO. Нарешті, OpenCart має менш розвинуту систему підтримки споживачів порівняно з іншими платформами електронної комерції. Хоча OpenCart має офіційний форум та можливість звернення до служби підтримки, деякі користувачі можуть відчувати, що їх проблеми не вирішуються достатньо швидко та ефективно. – Дай мені технічний огляд, що застаріло в OpenCart 3? [з урахуванням, що ChatGPT не може знати про OpenCart 4] – Є декілька технологій та аспектів, які можуть вважатися застарілими в OpenCart 3: OpenCart 3 використовує стару версію бібліотеки jQuery 2, яка більше не отримує оновлень безпеки та функціональності. Це може вплинути на безпеку та продуктивність вашого магазину. OpenCart 3 також використовує стару версію фреймворку Bootstrap 3, яка більше не отримує оновлень. Це може вплинути на відображення та доступність вашого магазину на різних пристроях та браузерах. Модуль аутентифікації в OpenCart 3 базується на застарілому коді, що може вплинути на безпеку магазину та приватність користувачів. Оновлення – процес оновлення OpenCart 3 може бути складним та незручним. Крім того, деякі оновлення можуть призвести до конфліктів з існуючими розширеннями та модулями. Відсутність механізму кешування – OpenCart 3 не має вбудованого механізму кешування, що може вплинути на продуктивність та швидкість завантаження вашого магазину (взагалі є, але він недостатній та на ефективний – па). Безпека – OpenCart 3 має деякі відомі проблеми безпеки, такі як вразливості в адміністративній панелі та можливість атаки на базу даних. Також, слід зауважити, що OpenCart 3 має багато переваг та функцій, які можуть забезпечити ефективну роботу вашого магазину. Однак, перед використанням OpenCart 3, вам слід звернути увагу на потенційні проблеми та ризики та відповідно їх вирішити. – OpenCart використовує несучасний підхід до програмування. Хіба це не означає, що він застарів? – OpenCart, як і будь-який інший програмний продукт, може бути оцінений за різними критеріями. Хоча деякі люди можуть вважати, що OpenCart використовує несучасний підхід до програмування, це не обов'язково означає, що він застарів. Дозвольте роз'яснити це. OpenCart є відкритою системою управління електронною комерцією (CMS), яка була випущена в 1999 році. За технологічними міркуваннями, це може вважатися деяким чином застарілим, оскільки протягом останніх років з'явилося багато нових технологій та фреймворків для розробки веб-додатків. Проте, важливо розуміти, що OpenCart має свої переваги. Він має простий та легкий у використанні інтерфейс для адміністрування, широкий спектр функціональності, а також значну базу користувачів та розширень. Якщо вам потрібен швидкий та простий спосіб створення онлайн-магазину, OpenCart може бути досить ефективним вибором. Також варто враховувати, що OpenCart оновлюється командою розробників. Це означає, що OpenCart може існувати в конкурентному середовищі, навіть якщо його технології не є найсучаснішими. – Які тоді ознаки застарілого ПЗ? – Ознаки застарілого програмного забезпечення (ПЗ) можуть включати наступні: Відсутність підтримки та оновлень: Застаріле ПЗ може бути позбавлене офіційної підтримки від розробників, що означає відсутність нових виправлень помилок, патчів безпеки та оновлень функціональності. Сумісність: Застаріле ПЗ може виявляти проблеми із сумісністю з новішими операційними системами або апаратними засобами, оскільки воно може бути розроблене для старіших версій апаратних платформ або програмних інтерфейсів. Помітний відсутній розвиток: Якщо ПЗ не отримує регулярних оновлень та нових функцій, це може свідчити про його застарілість. Нові інновації та покращення можуть бути втрачені, і ПЗ може почати виглядати застарілим порівняно з сучасними рішеннями. Погана продуктивність: Застаріле ПЗ може бути менш ефективним та швидким, порівняно з новішими рішеннями. Воно може вимагати більше ресурсів, таких як пам'ять чи потужність обчислень, щоб працювати ефективно. Вразливості безпеки: Застаріле ПЗ може мати вразливості, які не були виправлені через відсутність оновлень. Це може зробити ПЗ більш вразливим перед атаками зловмисників та шкідливими програмами. Відсутність сучасних функцій: Застаріле ПЗ може бути обмеженим в функціональності порівняно з сучасними рішеннями. Воно може не мати нових можливостей, інтеграції з іншими програмами. Відсутність інтеграції: Застаріле ПЗ може мати обмежені можливості інтеграції з іншими системами або програмами. Воно може бути несумісним з сучасними інтерфейсами, стандартами та протоколами, що ускладнює його використання в сучасному інформаційному середовищі. Відсутність користувацького досвіду: Застаріле ПЗ може мати застарілий, неінтуїтивний інтерфейс користувача. Воно може бути менш зручним у використанні, вимагати додаткового навчання та бути менш привабливим для користувачів порівняно з сучасними інтерфейсами. Відсутність сумісності зі сучасними форматами даних: Застаріле ПЗ може мати проблеми з обробкою та розпізнаванням сучасних форматів даних. Наприклад, воно може не підтримувати нові версії файлових форматів, стандартів мережевої комунікації або веб-технологій. Відсутність автоматизації та ефективності: Застаріле ПЗ може бути менш автоматизованим та ефективним у порівнянні зі сучасними рішеннями. Воно може вимагати багато ручної роботи, не мати оптимізованих процесів або функцій автоматичного виконання завдань. Ці ознаки можуть свідчити про те, що програмне забезпечення застаріло і потребує оновлення або заміни, щоб відповідати сучасним вимогам та стандартам. – Хіба в оновленні OpenCart 3 були додані якісь функції? – Ви праві, що остання версія OpenCart на момент мого оновлення знань (версія OpenCart 3.x) вийшла до вересня 2021 року. На той момент, ось деякі з нових функцій, які були додані в OpenCart 3.x: Новий дизайн і користувацький інтерфейс: OpenCart 3.x має оновлений інтерфейс, що поліпшує користувацький досвід і роботу з системою. Покращена система шаблонів: Нова версія має покращену систему шаблонів, що дозволяє більш гнучко налаштовувати вигляд вашого інтернет-магазину. Поліпшена система модулів: OpenCart 3.x пропонує більш потужну і гнучку систему модулів, що дозволяє легко додавати нові функції і розширення до вашого магазину. Оновлені можливості оплати і доставки: В OpenCart 3.x додані нові варіанти оплати і доставки, включаючи підтримку платіжних шлюзів і служб доставки. Покращена система адміністрування: Адміністративний розділ OpenCart 3.x має поліпшену систему управління товарами, замовленнями, клієнтами та іншими аспектами вашого магазину. Покращена продуктивність і безпека: OpenCart 3.x має оптимізований код, що поліпшує продуктивність і швидкість роботи магазину. Також виконані покращення в галузі безпеки, включаючи виправлення вразливостей та покращення захисту даних (це потребує перевірки – па). – Як на мене, це не дуже корисне оновлення… – Визначення корисності оновлення програмного забезпечення є суб'єктивним і залежить від потреб і очікувань користувачів. Оновлення OpenCart 3.x має свої переваги, але можливо, ви бажаєте більш значних змін у функціональності. Розуміючи ваші потреби, можна розглянути інші альтернативи або варіанти ПЗ, які краще відповідають вашим вимогам. Важливо також враховувати, що оновлення програмного забезпечення не завжди супроводжується значними змінами функціональності. Іноді оновлення спрямовані на виправлення помилок, покращення продуктивності та безпеки, а також на забезпечення сумісності зі сучасними технологіями. – Хіба не можна сказати, що OpenCart 3 мав “Помітний відсутній розвиток”, якій ти назвав серед ознак застарілого ПЗ? – Варто враховувати кілька факторів. По-перше, оцінка розвитку програмного забезпечення повинна базуватися на порівнянні з попередніми версіями та конкурентами у даній галузі. Якщо OpenCart 3.x мав певні покращення в порівнянні з попередньою версією та забезпечував базовий функціонал, який вам потрібен, то це може вважатися певним розвитком. По-друге, необхідно враховувати плани розробників щодо майбутнього розвитку OpenCart. Навіть якщо OpenCart 3.x не має значних змін на даний момент, розробники можуть мати стратегію для майбутнього оновлення з новими функціями та покращеннями. Узагалі, оцінка розвитку програмного забезпечення – це складний процес, який включає багато факторів. Вона повинна бути здійснена на основі конкретних потреб, вимог і очікувань користувачів, а також враховувати контекст та обставини. – OpenCart написаний із застарілим код стайлом, не дотримується стандартів PSR. Виходить, що він технічно застарів? – Недотримання стандартів PSR може призвести до складнощів у розробці, обслуговуванні та розширенні OpenCart. Воно може ускладнити співпрацю з розробниками, які дотримуються сучасних стандартів, а також унеможливити використання деяких інструментів і бібліотек, які підтримують лише стандартизований код. Однак, важливо зазначити, що популярність OpenCart і наявність прихильників свідчать про те, що ця платформа відповідає деяким потребам користувачів і успішно функціонує в багатьох веб-магазинах. Технічне застаріння може бути недоліком з точки зору розробки та сумісності зі стандартами, але може не мати безпосереднього впливу на функціональність та ефективність платформи. – Що ж тоді хорошого в OpenCart, що в нього досі є прихильники? Наведи приклади переваг та функцій OpenCart – Звичайно! Ось кілька прикладів переваг і функцій OpenCart: Відкритий код і спільнота: OpenCart є вільним програмним забезпеченням з відкритим вихідним кодом, що означає, що ви можете змінювати його і адаптувати до своїх потреб. Також існує активна спільнота користувачів та розробників, яка забезпечує підтримку, розширення та оновлення платформи. Простота використання: OpenCart має дружній інтерфейс з інтуїтивно зрозумілим управлінням. Ви можете легко додавати продукти, керувати замовленнями, встановлювати методи оплати та доставки, налаштовувати податки та багато іншого. Розширення і модулі: OpenCart має широкий вибір розширень та модулів, які дозволяють розширити функціональність вашого магазину. Ви можете встановлювати додаткові модулі для інтеграції з платіжними шлюзами, соціальними мережами, маркетплейсами, аналітикою та багатьма іншими сервісами. Множинні магазини: OpenCart підтримує можливість створення та управління декількома магазинами з однієї адміністративної панелі. Це дозволяє вам керувати кількома різними магазинами з одного місця, спільно використовувати товари та клієнтську базу. SEO-оптимізація: OpenCart має розширення для SEO, які допомагають забезпечити, що ваш інтернет-магазин буде більш видимим у пошукових системах. Ви можете налаштувати метатеги, URL-адреси, мапу сайту та інші аспекти для покращення SEO-просування. Множинні мови і валюти: OpenCart дозволяє налаштувати магазин на різні мови і валюти. Це особливо корисно, якщо ви спрямовані на глобальну аудиторію або хочете обслуговувати клієнтів з різних країн. Адаптивний дизайн: OpenCart пропонує адаптивний дизайн, що дозволяє вашому магазину коректно відображатися на різних пристроях, таких як комп'ютери, планшети і смартфони. Це забезпечує зручний і приємний досвід користувачам, які відвідують ваш магазин з різних пристроїв. Знижки та купони: OpenCart надає можливість створювати різні види знижок, акцій та купонів. Ви можете встановлювати знижки на певні товари, розділи або для конкретних груп клієнтів. Це допомагає вам залучати нових клієнтів та стимулювати повторні покупки. Це лише кілька прикладів переваг та функцій, які надає OpenCart. Платформа надає багато інших корисних можливостей, які допомагають вам розвивати ваш інтернет-магазин, залучати клієнтів, збільшувати продажі та покращувати загальний досвід покупців. Незалежно від розміру вашого бізнесу або категорії товарів, OpenCart є потужним інструментом, який допоможе вам ефективно управляти вашим електронним магазином і досягти успіху у сфері електронної комерції. Цікаві факти 1. Зворотна сумісність Популярна в області веб-стандартів фраза звучить так: "не розірви мережу". Це означає, що кожна нова веб-технологія повинна бути сумісна з усіма попередніми технологіями (тому старі сайти досі працюють), і з усіма наступними (технологія, що розробляється згодом, повинна бути сумісна з наявними). В PHP 7 Зворотна сумісність була трохи порушена, але не настільки, щоб це дуже сильно відображалося на роботі систем, написаних під PHP 5 (як OpenCart). 2. Abandonware та моральна застарілість В пошуках конкретних характеристик, що саме означає застаріле ПЗ, я знайшов варіант Abandonware (англ. abandon – залишити, покинути; software - програмне забезпечення) – тобто це програмне забезпечення, яке більше не виставляється на продаж компанією-виробником, не підтримується ним і видавцем (не оновлюється технічна документація, не випускаються доповнення та оновлення, не ведеться статистика відмов, база даних користувачів і т. д.). Таке ПЗ можна назвати застарілим або морально застарілим. Abandonware затребуване тоді, коли: існують прихильники застарілого програмного забезпечення (старих ігор, редакторів, операційних систем); використовується застаріла техніка; придбання нового ліцензійного товару стає матеріально обтяжливим. Окрім того, я знайшов окремо термін “морально застаріла технологія” (англ. morally growing old technology), якій використовується в менеджменті. Так називають розробки, що не можуть забезпечити виробництво продукції середньостатистичної якості у порівнянні з виробниками аналогічної продукції. З OpenCart можно отримати магазин середньої якості за короткий час та за вигідною ціною. Отже він не може вважатися морально застарілим з точки зору бізнесу. 3. legacy code та перспективи Зовсім інша справа legacy code, чого в OpenCart вистачає. Для користувачив – це взагалі нічого не означає. А от для розробників, які тільки що навчилися сучасному програмуванню на якіхось курсах, а теперь не розуміють, що робити з тим опенкартом, варто пам'ятати, що, хоча такий код – це зовсім не круто, але у великих компаніях (де платять більше) в основному наслідуваний код. Тому вміння з таким працювати буде дуже корисним для розвитку у кар'єрі.
    1 point
  6. Я хочу затронуть тему очередей, которые используются повсеместно в интернет-проектах, но в Opencart данная тема особо не освещена. Представьте, что вам нужно прямо сейчас сделать выгрузку для какого-то маркетаплейса, вот только в выгрузке у вас, например, 50к товаров. Крон у вас работает раз в сутки, а менеджер магазина не подключится по ssh и не будет запускать консольный скрипт выгрузки. В подобной ситуации вам поможет система очередей. Очереди - это не конкретная технология, а только принцип. В самом примитивном виде у нас есть издатель и подписчик (producer и worker). Издатель добавляет в очередь данные, по сути инициирует выполнение какого-то действия. А воркер непосредственно выполняет нужную нам работу. Между ними присутствует обменник, который хранит сообщения и распределяет их между воркерами. При этом мы можем использовать несколько воркеров (обработчиков) для одной задачи. Где можно использовать очереди 1. Асинхронное (фоновое) выполнение задач. Допустим, что при оформлении заказа мы отправляем письма о новом заказе через внешний SMTP-сервер, админу кидаем уведомление в телеграм, а также экспортируем данные о заказе в CRM. Какие проблемы нас поджидают: синхронное выполнение каждого процесса - пользователь будет ждать, пока отработает последовательно каждый из процессов зависимость от внешних сервисов - они вполне могут работать нестабильно и все это время клиент будет видеть экран загрузки, вместо быстрого оформления заказа. Вместо этого мы создаем три отдельных очереди (для email, телеграма и CRM) и просто кидаем в них сообщения. Пользователь успешно оформляет заказ, а в это время процессы отправки писем и уведомлений выполняются параллельно в фоне. Также можно: генерировать выгрузки в маркетплейсы по запросу пользователя, делать импорт/экспорт товаров, строить карты сайта, отчеты и т.д. 2. Имитация многопоточности. PHP "из коробки" однопоточный, но с помощью очередей можно сделать несколько обработчиков одной задачи. Примеры: Импорт товаров - у нас есть исходный эксель-файл с товарами. Распарсить файл и получить данные можно довольно быстро, а вот импорт данных потребует больших ресурсов, т.к. нужно выполнять вставку данных во множество таблиц. Исходя из этого разбиваем процесс импорта на два этапа: на первом этапе парсим эксель файл и в результате парсинга каждой строки получаем результирующий набор данных, нужный для создания товара. Этот набор данных мы кидаем в очередь для импорта. создаем обработчик, который будет заниматься только импортом готовых данных. При этом мы можем запустить одновременно 5 таких обработчиков (или сколько позволят ваши ресурсы) и система очередей будет распределять задачи по импорту товаров между данными обработчиками. В итоге вместо построчного импорта товаров мы получаем 5 параллельных обработчиков импорта. Данную технику можно применить для парсинга товаров. От теории перейдем к практике. Система очередей на RabbitMQ Выше я уже писал, что система очередей - это лишь архитектурный принцип и он может быть реализован с помощью множества технологий: крон и база данных, хранилище типа Redis и т.д., но я выбрал в качестве примера специалированное ПО RabbitMQ. Кролик содержит множество возможностей: гибкую маршрутизацию, масштабируемость, хранилище сообщений и т.д. Я использую Docker в качестве среды для локальной разработки, поэтому покажу, как установить RabbitMQ именно в этой среде. Про Docker я писал в этой статье: https://opencartforum.com/blogs/entry/383-zapusk-i-otladka-opencart-s-pomoschyu-docker-i-xdebug/ Установка RabbitMQ с помощью docker compose 1. В docker-compose.yml добавляем сервис: rabbitmq: image: rabbitmq:3-management-alpine hostname: my-rabbit volumes: - ./rabbitmq/etc/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf - ./rabbitmq/data:/var/lib/rabbitmq/mnesia/rabbit@my-rabbit - ./rabbitmq/logs:/var/log/rabbitmq/log ports: - 5672:5672 - 15672:15672 2. В корневой директории Docker-проекта создаем папку rabbitmq и в ней создаем три папки: data, etc, logs для хранилища данных, конфигов и логов. В папке rabbitmq/etc создаем файл конфига rabbitmq.conf с содержимым: loopback_users.guest = true listeners.tcp.default = 5672 management.listener.port = 15672 management.listener.ssl = false Далее как обычно билдим все в Docker для установки нового сервиса и запускаем контейнеры: docker-compose up -d --build Для администрирования RabbitMQ поставляется с панелью, которая будет доступна по адресу: http://localhost:15672. В данной панели можно смотреть, какие очереди выполняются, получить сообщения, очистить очереди т.д. Пароль и логин для доступа: guest / guest. Естественно, на рабочем сервере нужно удалить гостевого пользователя и добавить нового админа. Использование RabbitMQ c Opencart Написал простую библиотеку https://github.com/ozzzi/opencart-rabbitmq Для ее работы нужно: 1. Установить зависимость: composer require php-amqplib/php-amqplib . В библиотеке предполагается, что папка vendor будет лежать на уровень выше, чем корневая директория opencart. 2. Добавить в config.php конфиг RabbitMQ: define('RABBITMQ_HOST', 'host'); define('RABBITMQ_PORT', '5672'); define('RABBITMQ_USER', 'guest'); define('RABBITMQ_PASS', 'guest'); Если речь идет о исполнении в докер-контейнере, то в качестве хоста нужно указать айпи контейнера (читаем предыдущую статью о докере). Затем в опенкарте можем использовать библиотеку: $this->load->library('queue'); $this->queue->addTask('queueName', ['some' => 'data']); Первый параметр в методе addTask - имя очереди, а второй параметр (опциональный) - данные, которые нужно передать в воркер. Примеры Далее я приведу примеры использования очередей для отправки почты, импорта товаров из Excel, и парсинга сайтов. 1. Отправка email Полный код: https://github.com/ozzzi/email_service В коде Opencart-а меняем родной код отправки email-ов на: $this->load->library('queue'); $this->queue->addTask('email', ['data' => 'examlpe_data']); Т.е. мы добавили в очередь email данные для обработки: кому, от кого и что отсылаем. За обработку данной очереди отвечает воркер: cli/email_notify.php. Вы должны сами реализовать получение конфигов для SMTP-сервера. В панели управления RabbitMQ можно увидеть, что во вкладке очередей появилась новая очередь и одно сообщение. Чтобы очередь его отработала, воркер cli/email_notify.php должен быть запущен. Для примера мы запустим его вручную внутри контейнера, а в конце я объясню, как сделать запуск автоматическим. Смотрим имена контейнеров: docker ps Нас интересует, контейнер с PHP-FPM. Чтобы войти в него выполняем: docker exec -it container_name bash Далее переходим в папку cli и стандартно запускаем скрипт: php email_notify.php Если все прошло успешно, в панели кроля вы увидите, что очередь email очистилась. Значит сообщение ушло получателю. 2. Импорт товаров из Excel Полный код: https://github.com/ozzzi/excel_import_worker В админской части вам нужно реализовать загрузку файла, передать конфиг настроек полей и подключить загрузчик композер: '/vendor/autoload.php' Затем реализовываем наш загрузчик (producer): use App\Service\ExcelParser; $file = 'price.xlsx'; $setting = [ 'category' => 'B', 'name' => 'C', 'model' => 'D', 'price' => 'G', 'quantity' => 'H', 'manufacturer' => 'F', 'description' => 'M', ]; $this->load->library('queue'); $excelService = new ExcelParser($setting, $file); foreach ($excelService->parse() as $product) { $this->queue->addTask('import', ['product' => $product]); } В итоге после чтения каждой строки мы добавляем в очередь import объект с данными товара. Чтобы обработать все сообщение из очереди "импорт" запускаем воркер: cli/product_import.php (App\Service\ProductImport - вам нужно реализовать самим ). Чтобы процесс пошел "бодрей", можно запустить параллельно несколько воркеров product_import.php. 3. Парсер сайта в несколько потоков Полный код: https://github.com/ozzzi/html_parser_worker Для примера возьмем первый попавшийся магазин стройматериалов (ссылка в коде) и спарсим все товары из категории "Сухие смеси". Разделим процесс парсинга на два этапа: Получение списка ссылок на карточки товаров. За один запрос мы можем получить все ссылки на товары для первой страницы. Если страниц пагинации в категории 5 и в среднем на загрузку страницы уходит 1 секунда, то за 5 секунд мы получим все ссылки на товары в данной категории. Парсинг страниц товаров в несколько потоков. Т.к. каждая карточка товара загружается условную секунду, то данный процесс нам нужно распараллелить, запустив несколько воркеров. Запускаем скрипт cli/parser_category.php, который будет отправлять в очередь parse_product ссылки на товары. Затем запустим несколько воркеров cli/import_worker.php. В результате ProductParser возвращает сущность Товар, которая импортируется с помощью сервиса ProductImport, с которым вы уже знаете, что делать. Надеюсь, что вы поняли, как применять очереди в таком простом виде. Теперь расскажу, как запускать воркеры как демоны в автоматическом режиме (чтобы они работали постоянно и перезапускались сами вместе с системой). Один из способов - supervisor. Установка для Debian\Ubuntu стандартная: apt-get install supervisor Добавляем конфиг для запуска конкретного скрипта. Например, добавим конфиг для запуска воркера в виде двух процессов: Создаем файл: /etc/supervisor/conf.d/worker.conf [program:worker] command=php /path/to/script.php stdout_logfile=/var/log/worker.log autostart=true autorestart=true user=www-data stopsignal=KILL process_name=%(program_name)s_%(process_num)02d numprocs=2 Перезагружаем supervisor: service supervisor restart Если вам скучно, обязательно попробуйте очереди.
    1 point
  7. Всі замовлення в одній таблиці, тільки мають різний статус
    1 point
  8. Відфільтруйте по втраченим замовленням
    1 point
  9. Даємо Сергію почесне звання Журналіст OpenCart 2023
    1 point
  10. Браво, ну дуже цікаво. Якщо б по Opencart давали наукову ступінь, @SergeTkach був би професором з такими публікаціями. Моя думка як досвідченого користувача - не застарів, а застряг у розвитку. З версії 2.1 до 3 не прийшло кардинально нічого нового (4 не дивився ще, бо сира і немає доповнень потрібних та шаблонів). Ну і бісить, що сирість і та ж відсутність банально необхідних речей типу номеру замовлення після його оформлення переходить із версії у версію.
    1 point
  11. Доброго дня Модуль бачить номера телефонів, які збережені в базі, в такому вигляді: 380 971234567 або 0971234567 або 971234567. Якщо у Вас у базі номера записані в довільній формі (наприклад: 097-123-45-67, чи якось ще інакше), то тут буде складно... Маска з модуля не впливає на номер який збережеться а базі. Модуль зберігає номера в базу в такому форматі 380 971234567
    1 point
  12. А я за это как раз и минусую Одно дело, когда это превращается в рутину, когда и много текста, и смысл в результатах А другое, когда есть часть образовательного процесса.
    1 point
  13. добрый день, будет работать если номер телефона записан в базе не по маске ?
    1 point
  14. Дякую що підказали, а то било би… все змінив. Помилка була на хостингу (віруси) Ще раз дякую, все працює.
    1 point
  15. Сравнение версий и эволюцию Opencart можно отобразить графически следующим образом Кроме возраста ничего особо не поменялось
    1 point
  16. На мою думку дуже сильно розробникам не варто переживати з цього приводу. Так само багато розробників переживало з приводу виходу ChatGPT. Але також думаю що будь якому розробнику варто розвиватись в різні сторони коли є час, щоб в разі чого міг переключитись на шось інше. З приводу привертання уваги, я думаю що це мусять зробити самі розробники Опекарт, та запропонувати щось конкурентне, що ще більше схилить ваги в свою сторону.
    1 point
  17. на разных сервисах e-mail рассылки. есть такая штука как авторассылка. К примеру на SendPulse. Делаете триггер на сайте,после доставки клиенту, отправить его данные событием в авторассылку. А там настраиваете авторассылку, через допустим 6 месяцев написать письмо напоминание о себе. А через 3 месяца после этого письма, прислать другое письмо. Один раз настроили и забыли.
    1 point
×
×
  • 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.