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

SergeTkach

Users
  • Posts

    2,316
  • Joined

  • Last visited

Everything posted by SergeTkach

  1. Данная версия моего модуля работает для отдельно взятого товара в админке товара. Поэтому нет, не будут прописаны. Хотя, возможно, модуль импорта XML сам создаст ЧПУ. Если же нет, да, платной версией можно массого генерировать ЧПУ, но это происходит отдельно от модуля импорта XML.
  2. Даніель стверджує, що OpenCart стає все більш популярним та наводить таку статистику існуючих сайтів на OpenCart. Цікаво, чого тоді в Google так мало запитів про OpenCart по США? Чи може власники не паряться, на чому їх сайт, а виконавці агенств знаходяться в Україні?)))
  3. Це для чого? Бо я щось не в'їхав. Правда й код орігінального файлу не дивився.
  4. Цей огляд заснований на diff найпростіших вбудованих модулів. Але все перевірено на простому власному модулі, в якому немає ані подій, ані vQmod. Основні зміни у коді стандартного модуля * Примітка Слово Opencart, виділене жовтим кольором — це код модуля (!). Але, мабуть, ви й самі здогадалися У контролері OpenCart 3 OpenCart 4 class ControllerExtensionModuleAccount extends Controller { namespace Opencart\Admin\Controller\Extension\Opencart\Module; class Account extends \Opencart\System\Engine\Controller { protected function validate() { public function save(): void { // ... $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } private $error = array(); Більше не потрібно. Всі помилки обробляються відразу в методі save() if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } Не потрібно. Обробка помилок відбувається у методі save(). також Обробка помилок if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { Більше не використовується. Збереження форми відбувається шляхом надсилання AJAX-запиту до методу save() $data['action'] = $this->url->link('extension/module/account', 'user_token=' . $this->session->data['user_token'], true); // 4.0.0.0 $data['save'] = $this->url->link('extension/opencart/module/account|save', 'user_token=' . $this->session->data['user_token']); // 4.0.2.0 $data['save'] = $this->url->link('extension/opencart/module/account.save', 'user_token=' . $this->session->data['user_token']); *Зміни у побудові шляхів впливають на будь-які посилання всередині модуля. Ну, це і так зрозуміло. $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true); $data['back'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module'); $this->load->model('extension/dashboard/map'); $this->load->model('extension/opencart/dashboard/map'); $results = $this->model_extension_dashboard_map->getTotalOrdersByCountry(); $results = $this->model_extension_opencart_dashboard_map->getTotalOrdersByCountry(); if (isset($this->request->post['module_account_status'])) { $data['module_account_status'] = $this->request->post['module_account_status']; } else { $data['module_account_status'] = $this->config->get('module_account_status'); } $data['module_account_status'] = $this->config->get('module_account_status'); У моделі OpenCart 3 OpenCart 4 class ModelExtensionDashboardMap extends Model { namespace Opencart\Admin\Model\Extension\Opencart\Dashboard; class Map extends \Opencart\System\Engine\Model { У в'юшці В OpenCart 4.0.0.0 був FontAwesome 5.15.4, а в OpenCart 4.0.2.0 FontAwesome 6.1.1. Це впливає на класи іконок. OpenCart 3 OpenCart 4 pull-right float-end data-toggle="tooltip" data-bs-toggle="tooltip" <i class="fa fa-save"></i> <!-- 4.0.0.0 --> <i class="fas fa-save"></i> <!-- 4.0.2.0 --> <i class="fa-solid fa-save"></i> {{ cancel }} {{ button_cancel }} {{ back }} {{ button_back }} <ul class="breadcrumb"> <ol class="breadcrumb"> <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% if error_warning %} <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">&times;</button> </div> {% endif %}{% if error_warning %} -- (AJAX) <div class="panel panel-default"> <div class="card"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3> </div> <!-- 4.0.0.0 --> <div class="card-header"><i class="fas fa-pencil-alt"></i> {{ text_edit }}</div> <!-- 4.0.2.0 --> <div class="card-header"><i class="fa-solid fa-pencil"></i> {{ text_edit }}</div> <div class="panel-body"> <div class="card-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-module" class="form-horizontal"> <form id="form-module" action="{{ save }}" method="post" data-oc-toggle="ajax"> * Якщо пропустити data-oc-toggle="ajax", то форма обробиться по-старому з повним завантаженням сторінки (принаймні у версії 4.0.0.0). Хоча сам .alert у bootstrap 5 трохи змінився. <div class="form-group"> <div class="row mb-3"> control-label col-form-label <select name="module_account_status" ... <!-- 4.0.2.0 --> <input type="checkbox" name="module_account_status" ... Шляхи в AJAX-запитах url: 'index.php?route=extension/module/imagescanner/getNotUsedImagesList <!-- 4.0.0.0 --> url: 'index.php?route=extension/imagescanner/module/imagescanner|getNotUsedImagesList <!-- 4.0.2.0 --> url: 'index.php?route=extension/imagescanner/module/imagescanner.getNotUsedImagesList Шляхи до зображень var img_loader = new Image().src='view/image/imagescanner-loader.gif'; var img_loader = new Image().src='extension/imagescanner/admin/view/image/imagescanner-loader.gif'; А воно запитує: http://opencart-4000.loc/admin/extension/imagescanner/admin/view/image/imagescanner-loader.gif Значить треба вказати повний шлях до файлу var img_loader = new Image().src='{{ constant('HTTP_CATALOG') }}extension/imagescanner/admin/view/image/imagescanner-loader.gif'; Обробка помилок Щоб поля з помилками підсвічувалися і до них були пояснювальні підписи, першою дією у в'юшці необхідно вписати порожні контейнери для текстів помилок. <div id="error-field" class="invalid-feedback"></div> Далі, при обробці форми по AJAX можна отримати наступний формат відповіді: { "error": { "name_1": "Product Name must be greater than 1 and less than 255 characters!", "keyword_0_1": "SEO URL keyword required!", "warning": "Warning: Please check the form carefully for errors!" } } Потім воно буде універсально оброблено в admin/view/javascript/common.js з урахуванням того, чи це рядок, чи це об'єкт, та чи є там редірект. Також воно автоматично переведе under_score індекси массиву з помилками в kebab-case html-ідентифікаторів, в яких потрібно показати відповідні тексти червоним кольором. TypeError: Cannot access offset of type string on string in при обробці помилок У js при обробці відповіді AJAX-запиту робиться розмежування між отриманим рядком та об'єктом. Все тому, що в найпростішому "модулі" (наприклад, account) в помилки потрапляє лише рядок з текстом без зайвих проблем. І ось я скопіпастив звідти, а потім побачив, що в товарах йде інакше, і скопіпастив шматок коду ще й звідти. У результаті напоровся на помилку: TypeError: Cannot access offset of type string on string in ... $json['error'] = $this->language->get('error_text'); // В найпростішому модулі присвоюється рядок ... if (isset($json['error']) && !isset($json['error']['warning'])) { $json['error']['warning'] = $this->language->get('error_warning'); // Намагається рядку присвоїти індекс масиву, але це ж PHP 8... } Власні бібліотеки у складі модуля Якщо ваш модуль використовує бібліотеку, яка зазвичай завантажувалася в system/library, то зараз при розпакуванні архіву вона потрапить до extnension/modulecode/system/library/ . OpenCart автоматично створює простори імен, як для контролерів з моделями, так і для бібілотек: // 4.0.0.0 [Opencart\Admin\Controller\Extension\Imagescanner] => Array ( [directory] => .../opencart-4000.loc/extension/imagescanner/admin/controller/ [psr4] => ) [Opencart\Admin\Model\Extension\Imagescanner] => Array ( [directory] => .../opencart-4000.loc/extension/imagescanner/admin/model/ [psr4] => ) [Opencart\System\Extension\Imagescanner] => Array ( [directory] => .../opencart-4000.loc/extension/imagescanner/system/ [psr4] => ) // 4.0.2.0 [Opencart\System\Library\Extension\Imagescanner] => Array ( [directory] => .../opencart-4021.loc/extension/imagescanner/system/library/ [psr4] => ) Зверніть увагу, що варіант іменування класу бібліотеки ImageScanner при підключенні перетвориться на image_scanner.php (system/engine/autoloader.php). Тоді як Imagescanner відповідатиме imagescanner.php. Це при тому, що в контролері назва класу в стилі CamelCase працює ок. А чому так — це вже окрема історія. У файлі бібліотеки Задамо простір імен: // 4.0.0.0 namespace Opencart\System\Extension\Modulecode\Library; // 4.0.2.0 namespace Opencart\System\Library\Extension\Imagescanner; Називаємо клас: class Yourclassname { У файлі контролера Створюємо екземпляр класу бібліотеки у нашому контролері: // 4.0.0.0 $this->instance = new \Opencart\System\Extension\Modulecode\Library\Yourclassname(); // 4.0.2.0 $this->stdelog = new \Opencart\System\Library\Extension\Imagescanner\Stdelog('imagescanner'); З іншого боку чудово відпрацює і по-старому, і ще й ніяких приколів зі змінами в системі: require_once DIR_EXTENSION . 'modulecode/system/library/modulecode.php'; $this->instance = new Yourclassname(); // и не паритися Папка модуля На прикладі присутньої в системі папки extension/opencart (де складені всі дефолтні модулі) здавалося, що OpenCart 4 з'явилося поняття "папка постачальника". Але потім з'ясувалося, що при спробі встановити в ту ж папку інший свій модуль, воно не працює До речі, якщо в інсталяційному архіві будуть нестандартні шляхи до файлів (я, наприклад, пробував modulecode/library/file.php на 4.0.0.0), то при видаленні модуля з адмінки папка модуля не видаляється, хоча всі стандартні файли та папки звідти видалені. Тобто це може створити проблеми при оновленні модуля, адже в існуючу папку модуля установник не хоче записувати. І ще з цією папкою є один приємний момент: щоб упакувати модуль, досить просто скопіювати папку та заархівувати. Більше не потрібно ритися в папках і копіювати кожен файл окремо. P.S. На преший погляд, адаптація модуль під OpenCart 4 має бути досить простою. Я цю статтю довше писав, ніж адаптував модуль. Але огляд поки що не повний. Дописуватиму згодом. Також буду додавати в текст статті зауваження з коментарів. --
  5. Увага! Не скануйте всю папку catalog! Розглянемо 3 різні ситуації, як можуть зберігатися фото товарів на вашому сайті. Випадок 1 Їдеальна ситуація. Всі фото товарів поміщуються в окрему папку. Випадок 2 Ситуація ускладнена тим, що в корньовій папці зображень розміщено все підряд: і фотки товарів, і слайдерів, і статтей. Але добре, що фото товарів хоча б мають окремі папки, які названі по імені категорії. В такому разі скануємо кожну папку з категорією товару окрему по черзі. Випадок 3 На сайті наче є папка з товарами. Але якщо придивитися, то їх там 2. Або може бути й 3 (ще є папка tovary, але її перекрила рамка із текстом). В принципі це майже Випадок 2. Тобто по черзі скануємо кожну папку, де є товари.
  6. Завантажити / Придбати розширення На чай Угостите разработчика рюмкой чаю! Хороший крепкий напиток дарит душевное тепло и заряжает разработчика энергией, которая так необходима, чтобы он вновь смог вкладываеть ее в написание кода. Если вам стало приятно, что вы получили решение своей задачи или подсказку, сделайте приятно в ответ, чтобы круговорт приятного и полезного в природе не заканчивался. Автор SergeTkach долучення 12.06.23 Категорія Інші розширення Системные требования Метод активации Без активации Ioncube Loader Нет ocStore 3.0 2.3.0.2.4 2.3 OpenCart.Pro, ocShop Звернення до сервера розробника Нет  
  7. SergeTkach

    На чай

    Version 1.0.0

    34 downloads

    Угостите разработчика рюмкой чаю! Хороший крепкий напиток дарит душевное тепло и заряжает разработчика энергией, которая так необходима, чтобы он вновь смог вкладываеть ее в написание кода. Если вам стало приятно, что вы получили решение своей задачи или подсказку, сделайте приятно в ответ, чтобы круговорт приятного и полезного в природе не заканчивался.
    Free
  8. А дійсно, по ленду з котлами телефонують на ремонт, чи на обслуговування?) Бо чищення можуть гуглити реально на тему, як самому почистити.
  9. Червона линия -- це орієнтовна лінія уваги на сторінці. На першому сайті в області увагі крупна помітна кнопка з номером, далі гарна картина та крупний заголовок. В нижній частині лінії уваги ще раз кнопка. Причому колір теплого спекрту, які вважається більш помітним. На другому ленді кнопка не має акцентованого кольору - вона зливається з менюшкою. Контакти в зоні уваги не дуже помітні. Заголовок зверху дуже мілкий "Профілактична чистка мийка та ТО кондиціонерів. Антибактеріальна обробка. Діагностика та технічне обслуговування. Гарантія на виконані роботи." А чисто власне враження, що на ленді ти наче дивися на загальну картину і вона одна цілістна. А на другому сайті 2 картинки, які не дають уяву про гарний результат. Можливо там була би фотка кімнати, де люди у спецодягу роблять чистку. А ці ж фото виглядають, як фото з сайту "зроби сам". Та щей дві. На яку потрібно дивитися? Яхщо це було б "До та Після" з однакового ракурсу, то може я би зрозумів. А так я не розумію
  10. 15 Завантажити / Придбати розширення ImageScanner — Видалення зображень, що не використовуються, для OpenCart Стикнулися з проблемою, що недостатньо місця на сервері? Звільніть місце на хостингу, щоб не переплачувати за тариф. Видаліть зайві зображення, які залишилися після видалення товарів та дарма займають місце на диску! Використовуйте модуль ImageScanner для очистки картинок в OpenCart! Увага! Перед видаленням зображень, рекомендую зробити бекап сайту. Як модуль ImageScanner допомагає вам економити на тарифах хостингу? Як працює модуль? Модуль сканує задану папку із зображеннями. Також він збирає інформацію про фотографії у базі даних в заданих таблицях. Потім отримані масиви порівнюються і показуються картинки, які є у папці на диску, але вони нікуди не закріплені у базі даних. З версії 1.4.0 модуль парсить описи товарів та категорій та шукає зображення в тексті. Перевіряються такі таблиці: oc_product oc_product_image oc_product_description (new - з версії 1.4.0) oc_option_value oc_category oc_category_description (new - з версії 1.4.0) oc_manufacturer oc_banner_image oc_user Як правильно сканувати папки модулем ImageScanner? Головне: не скануйте всю папку catalog !! А приклади організації папок розглянуті ось тут — https://opencartforum.com/files/tutorials/678-yak-pravilno-skanuvati-papki-modulem-imagescanner/ Як отримати код ліцензії (код активації)? Вкажіть домен при покупці, і автоматично отримайте код активації на свій e-mail протягом кількох хвилин! Додатково існує спеціальний веб-сервіс для самостійного створення коду активації — https://licence.sergetkach.com/, якщо раптом імейл не працює. Істотні умови придбання 1. Купуючи модуль, ви даєте свою згоду з моєю Ліцензійною угодою, яка представлена внизу цього тексту. Зокрема модуль ліцензується на один домен та забороняється розповсюдження без згоди автора. А якщо ви хочете отримати код активації на налагоджувальний домен, то він має бути або локальним (example.loc, example.local) або бути піддоменом на основному сайті (магазину або сайту студії). 2. Модуль надається на умовах "As is" 3. Як автор модуля я залишаю за собою право на портфоліо, що означає можливість публічно надавати ваш сайт (домен та/або логотип) як приклад використання модуля. Але якщо ви не бажаєте, щоб я використовував адресу вашого сайту у прикладах, при оформленні замовлення ви можете обрати опцію "Увага: Не використовувати мій сайт в прикладах (+5.00 USD)" 4. Передбачається самостійне встановлення модуля за детальною інструкцією. 5. Умови підтримки: разом з покупкою модуля ви отримуєте безкоштовну Підтримку на 12 міс з моменту покупки. Ви можете подовжувати Підтримку за вигідною ціною до завершення терміну підтримки. Інакше підтримка надається виключно на умовах оплати за кожне звернення. Ліцензійна угода Купуючи або встановлюючи нову версію цього продукту, ви підтверджуєте свою беззастережну згоду з такими умовами використання. Виключні права на модуль як об'єкт інтелектуальної власності належать автору. При купівлі модуля ви отримуєте право на використання на тих умовах, які описані в цій угоді. Ніяких майнових прав, прав передачи, копіювання, розповсюдження та будь яких інших, які явно не описані в цій угоді, вам не надається. Модуль продається та використовується на умовах "Як є". Модуль є типовим рішенням типової задачі. Перевіряйте наявність потрібного функціоналу в демо модуля. У вартість модуля не входить адаптація розширення під індивідуальні потреби покупця. Надається не ексклюзивне право на використання модуля на 1 домені. "Перенесення" ліцензії на інший домен не передбачається. Однак, додаткова ліцензія може бути видана на налагоджувальні домени, які відповідають таким вимогам: - Субдомен на основному домені (test.sitename.com, demo.sitename.com) - Субдомен на сайті розробника (студії) (shopname.studioname.com) - Локальний домен виду sitename.loc або sitename.local Термін надсилання коду ліцензії вручну — протягом 1 робочого дня! Збереження ключа активації є обов'язком покупця. Відновлення ключа можливе лише в рамках наявного терміну підтримки. Інтерфейс поточної версії модуля може відрізнятися від того, що представлено на знімках екрана в презентаційних матеріалах. Це не дефект модуля, просто в нових версіях модуля можуть бути додані нові функції. Проте загальні принципи роботи модуля залишаються тими самими. У разі використання мультимагазину ліцензія видається на основний домен, на якому здійснюватиметься управління всіма магазинами. Автор дає гарантію, що весь заявлений функціонал, крім експериментального, працюватиме на тих версіях системи, що заявлені в розділі СУМІСНІСТЬ та за умови дотримання ТЕХНІЧНИХ ВИМОГ. У разі помилки в модулі зобов'язується виправити її при наявності необхідних доступів та послідовного логічного опису, які саме кроки привели до помилки. В залежності від складності багу, можуть бути різні терміни виправлення. Для випадків явної помилки виконання програми виправлення можливе в термін від 1 до 3 робочих днів після надання доступів та опису проблеми. В разі помилки через конфлікт з API браузеру, логічної або архітектурної помилки термін виправлення може бути навіть до 2 міс. В разі, якщо помилка не була виправлена в зазначений термін, може бути здійснене повернення коштів з вирахуванням комісій платіжних систем. Виправлення помилок може бути здійснено як напряму у клієнта, так і через випуск оновлення. В разі випуску оновлення, його встановлення не входить в обсяг підтримки. Підтримка та гарантія усунення помилок діє 12 місяців із моменту покупки. Ніяких гарантій щодо виправлення помилок в нових версіях, які можуть бути доступними вам навіть після заврешння терміну Підтримки, не надається. Продовжуйте підтримку, щоб продовжувати отримувати допомогу. Гарантія НЕ ПОШИРЮЄТЬСЯ на Додаткові модифікатори(!) з папки "Додаткові-модифікатори" або "additional-modificators" (раніше називалася "additional"). Вони є бонусними та не входять у вартість покупки. Гарантія усунення помилок не поширюється на конфлікти сумісності модулів. Тобто говорити, що проблема точно виходить з мого модуля можна тільки в тому випадку, якщо на сайті не встановлений жоден інший модуль (крім LocalCopy.ocmod.xml) і при цьому вихідні файли OpenCart не були редаговані вручну. Гарантія не поширюється на новий експериментальний функціонал, який з'являється під час випуску бета-версії модуля (додається слово "beta" після номера версії). Ви втрачаєте гарантію на безкоштовну підтримку, якщо в модулі були зроблені модифікації (при цьому не має різниці, хто їх зробив — я чи сторонній розробник. В такому випадку модуль перестає працювати за типовим сценарієм і вимагає індивідуального розгляду ситуації). Купуючи або оновлюючи версію модуля, ви погоджуєтесь з поточною "Політикою підтримки" та поточною Ліцензійною угодою, яка діє на момент виходу релізу. При оцінці можливої шкоди від використання купленого програмного забезпечення, в якому була помилка, максимальна відповідальність автора та (або) продавця не може перевищувати вартість дефектного програмного забезпечення, яку покупець сплатив за фактом. Автор залишає за собою право відмовляти у підтримці у випадку, якщо клієнт не дотримується рамки пристойності та ділового стилю спілкування та/або дозволяє собі образи чи хамство Модуль містить зашифровані файли, які забезпечують контроль за ліцензіями. Ви відмовляєтеся від наміру запитувати відкритий вихідний код зашифрованих файлів і усвідомлюєте, що будь-яка спроба розшифрування файлів або іншого злому модуля є незаконною. Якщо Ви плануєте доопрацьовувати модуль, необхідно отримати згоду автора на такі доробки. (Часто я не проти внесення змін до відкритого коду модуля, але формулювання "купив модуль з надією допрацювати, а тут закрито" не є підставою для повернення). Результати платного доопрацювання модуля можуть включатися до наступних версій без отримання згоди від клієнта, який сплатив таке доопрацювання. Як автор модуля я залишаю за собою право на портфоліо, що означає можливість публічно надавати ваш сайт (домен та/або логотип) як приклад використання модуля. Але якщо ви не бажаєте, щоб я використовував адресу вашого сайту у прикладах, при оформленні замовлення ви можете обрати опцію "Увага: Не використовувати мій сайт в прикладах (+5.00 USD)" Автор SergeTkach долучення 06.06.23 Категорія Инструменты, утилиты Ioncube Loader Требуется ocStore 3.0 2.3.0.2.4 2.3 2.1 OpenCart.Pro, ocShop Звернення до сервера розробника Нет
  11. Version 1.4.0

    Стикнулися з проблемою, що недостатньо місця на сервері? Звільніть місце на хостингу, щоб не переплачувати за тариф. Видаліть зайві зображення, які залишилися після видалення товарів та дарма займають місце на диску! Використовуйте модуль ImageScanner для очистки картинок в OpenCart! Увага! Перед видаленням зображень, рекомендую зробити бекап сайту. Як модуль ImageScanner допомагає вам економити на тарифах хостингу? Як працює модуль? Модуль сканує задану папку із зображеннями. Також він збирає інформацію про фотографії у базі даних в заданих таблицях. Потім отримані масиви порівнюються і показуються картинки, які є у папці на диску, але вони нікуди не закріплені у базі даних. З версії 1.4.0 модуль парсить описи товарів та категорій та шукає зображення в тексті. Перевіряються такі таблиці: oc_product oc_product_image oc_product_description (new - з версії 1.4.0) oc_option_value oc_category oc_category_description (new - з версії 1.4.0) oc_manufacturer oc_banner_image oc_user Як правильно сканувати папки модулем ImageScanner? Головне: не скануйте всю папку catalog !! А приклади організації папок розглянуті ось тут — https://opencartforum.com/files/tutorials/678-yak-pravilno-skanuvati-papki-modulem-imagescanner/ Як отримати код ліцензії (код активації)? Вкажіть домен при покупці, і автоматично отримайте код активації на свій e-mail протягом кількох хвилин! Додатково існує спеціальний веб-сервіс для самостійного створення коду активації — https://licence.sergetkach.com/, якщо раптом імейл не працює. Істотні умови придбання 1. Купуючи модуль, ви даєте свою згоду з моєю Ліцензійною угодою, яка представлена внизу цього тексту. Зокрема модуль ліцензується на один домен та забороняється розповсюдження без згоди автора. А якщо ви хочете отримати код активації на налагоджувальний домен, то він має бути або локальним (example.loc, example.local) або бути піддоменом на основному сайті (магазину або сайту студії). 2. Модуль надається на умовах "As is" 3. Як автор модуля я залишаю за собою право на портфоліо, що означає можливість публічно надавати ваш сайт (домен та/або логотип) як приклад використання модуля. Але якщо ви не бажаєте, щоб я використовував адресу вашого сайту у прикладах, при оформленні замовлення ви можете обрати опцію "Увага: Не використовувати мій сайт в прикладах (+5.00 USD)" 4. Передбачається самостійне встановлення модуля за детальною інструкцією. 5. Умови підтримки: разом з покупкою модуля ви отримуєте безкоштовну Підтримку на 12 міс з моменту покупки. Ви можете подовжувати Підтримку за вигідною ціною до завершення терміну підтримки. Інакше підтримка надається виключно на умовах оплати за кожне звернення. Ліцензійна угода Купуючи або встановлюючи нову версію цього продукту, ви підтверджуєте свою беззастережну згоду з такими умовами використання. Виключні права на модуль як об'єкт інтелектуальної власності належать автору. При купівлі модуля ви отримуєте право на використання на тих умовах, які описані в цій угоді. Ніяких майнових прав, прав передачи, копіювання, розповсюдження та будь яких інших, які явно не описані в цій угоді, вам не надається. Модуль продається та використовується на умовах "Як є". Модуль є типовим рішенням типової задачі. Перевіряйте наявність потрібного функціоналу в демо модуля. У вартість модуля не входить адаптація розширення під індивідуальні потреби покупця. Надається не ексклюзивне право на використання модуля на 1 домені. "Перенесення" ліцензії на інший домен не передбачається. Однак, додаткова ліцензія може бути видана на налагоджувальні домени, які відповідають таким вимогам: - Субдомен на основному домені (test.sitename.com, demo.sitename.com) - Субдомен на сайті розробника (студії) (shopname.studioname.com) - Локальний домен виду sitename.loc або sitename.local Термін надсилання коду ліцензії вручну — протягом 1 робочого дня! Збереження ключа активації є обов'язком покупця. Відновлення ключа можливе лише в рамках наявного терміну підтримки. Інтерфейс поточної версії модуля може відрізнятися від того, що представлено на знімках екрана в презентаційних матеріалах. Це не дефект модуля, просто в нових версіях модуля можуть бути додані нові функції. Проте загальні принципи роботи модуля залишаються тими самими. У разі використання мультимагазину ліцензія видається на основний домен, на якому здійснюватиметься управління всіма магазинами. Автор дає гарантію, що весь заявлений функціонал, крім експериментального, працюватиме на тих версіях системи, що заявлені в розділі СУМІСНІСТЬ та за умови дотримання ТЕХНІЧНИХ ВИМОГ. У разі помилки в модулі зобов'язується виправити її при наявності необхідних доступів та послідовного логічного опису, які саме кроки привели до помилки. В залежності від складності багу, можуть бути різні терміни виправлення. Для випадків явної помилки виконання програми виправлення можливе в термін від 1 до 3 робочих днів після надання доступів та опису проблеми. В разі помилки через конфлікт з API браузеру, логічної або архітектурної помилки термін виправлення може бути навіть до 2 міс. В разі, якщо помилка не була виправлена в зазначений термін, може бути здійснене повернення коштів з вирахуванням комісій платіжних систем. Виправлення помилок може бути здійснено як напряму у клієнта, так і через випуск оновлення. В разі випуску оновлення, його встановлення не входить в обсяг підтримки. Підтримка та гарантія усунення помилок діє 12 місяців із моменту покупки. Ніяких гарантій щодо виправлення помилок в нових версіях, які можуть бути доступними вам навіть після заврешння терміну Підтримки, не надається. Продовжуйте підтримку, щоб продовжувати отримувати допомогу. Гарантія НЕ ПОШИРЮЄТЬСЯ на Додаткові модифікатори(!) з папки "Додаткові-модифікатори" або "additional-modificators" (раніше називалася "additional"). Вони є бонусними та не входять у вартість покупки. Гарантія усунення помилок не поширюється на конфлікти сумісності модулів. Тобто говорити, що проблема точно виходить з мого модуля можна тільки в тому випадку, якщо на сайті не встановлений жоден інший модуль (крім LocalCopy.ocmod.xml) і при цьому вихідні файли OpenCart не були редаговані вручну. Гарантія не поширюється на новий експериментальний функціонал, який з'являється під час випуску бета-версії модуля (додається слово "beta" після номера версії). Ви втрачаєте гарантію на безкоштовну підтримку, якщо в модулі були зроблені модифікації (при цьому не має різниці, хто їх зробив — я чи сторонній розробник. В такому випадку модуль перестає працювати за типовим сценарієм і вимагає індивідуального розгляду ситуації). Купуючи або оновлюючи версію модуля, ви погоджуєтесь з поточною "Політикою підтримки" та поточною Ліцензійною угодою, яка діє на момент виходу релізу. При оцінці можливої шкоди від використання купленого програмного забезпечення, в якому була помилка, максимальна відповідальність автора та (або) продавця не може перевищувати вартість дефектного програмного забезпечення, яку покупець сплатив за фактом. Автор залишає за собою право відмовляти у підтримці у випадку, якщо клієнт не дотримується рамки пристойності та ділового стилю спілкування та/або дозволяє собі образи чи хамство Модуль містить зашифровані файли, які забезпечують контроль за ліцензіями. Ви відмовляєтеся від наміру запитувати відкритий вихідний код зашифрованих файлів і усвідомлюєте, що будь-яка спроба розшифрування файлів або іншого злому модуля є незаконною. Якщо Ви плануєте доопрацьовувати модуль, необхідно отримати згоду автора на такі доробки. (Часто я не проти внесення змін до відкритого коду модуля, але формулювання "купив модуль з надією допрацювати, а тут закрито" не є підставою для повернення). Результати платного доопрацювання модуля можуть включатися до наступних версій без отримання згоди від клієнта, який сплатив таке доопрацювання. Як автор модуля я залишаю за собою право на портфоліо, що означає можливість публічно надавати ваш сайт (домен та/або логотип) як приклад використання модуля. Але якщо ви не бажаєте, щоб я використовував адресу вашого сайту у прикладах, при оформленні замовлення ви можете обрати опцію "Увага: Не використовувати мій сайт в прикладах (+5.00 USD)"
    $15
  12. Нещодавно я провів на форумі опитування для вимірювання Індексу почуття спільноти (SCI). Ділюся результатами. Що це взагалі за Індекс почуття спільноти такий? Вважається, що для існування онлайн-спільноти важливо чітко розуміти, чому учасники хочуть бути її частиною, чому їм важливо спілкуватися саме з цими людьми, що їх мотивує, що вони отримують завдяки спільноті з точки зору емоцій. Як мінімум, це дозволяє лідерам створювати більш популярні активності та ефективніше утримувати учасників у спільноті. Індекс почуття спільноти (Sense of Community Index) нашого форума я намагався виміряти за допомогою опросника Аніти Бланшар. Вона є соціологом та займається вивченням впливу соціальних мереж, віртуальних спільнот та соціального капіталу. Її модель “Почуття віртуальної спільноти”, в свою чергу, відштовхується від офлайнового «Індексу...» Чавіса і Макміллана. А той був більше прив'язаний до вирішення проблем локальних та сусідських груп. «Почуття віртуальної спільноти» складається з: Розпізнавання учасників Тобто це категорія, яка відповідає на такі питання, як: “Хто всі ці люди, та що у нас спільного?” В офлайнових моделях є подібні категорії: “Почуття приналежності”, “Участь” або “Дух” спільноти. В такому разі було важливим: “Чи готовий я показати іншим учасникам, що відчуваю? Чи готовий я робити особисті інвестиції в цю спільноту, чи я тут випадковий перехожий?” Відчуття впливу Вплив в спільноті поширюється з двох сторін. З одного боку учасники групи повинні відчувати себе в праві і володіти можливостями впливу на те, що робить група (інакше у них знижується мотивація брати участь у спільноті), з іншої сторони згуртованість групи залежить від того, що група має вплив на своїх учасників в прийняті централізованих рішень. Бланшар вважає, що в онлайн-спільнотах вплив учасників на спільноту не виражений. Можливо, тому що в тих групах, які вона досліджувала, учасники самі приєднувалися до бажаної групи і “суворо підпорядковувалися” прийнятим нормам. Альтернативні дослідження онлайн-спільнот приділяють більше уваги цьому аспекту. Підтримка Обмін інформацією та соціально-емоційною підтримкою – це початкова точка формування спільноти, але учасники повинні довіряти тій підтримці та інформації, яку вони отримують, а довіра вимагає наявності віри в ідентичність того, хто її надає. В офлайнових варіантах також зустрічається подібна категорія із назвою “Задоволення потреб” або “Торгівля”. Існує величезна кількість різних винагород (не лише матеріальних), які люди отримують від приналежності до спільнот. Але важлива також схожість між учасниками як основа їхнього зв'язку. Емоційна прихильність Зв'язок учасника зі спільнотою (немає аналогу в інших методологіях). Може проявлятися різними способами: від активності учасника спільноти до сприйняття особистої вигоди, яку він отримує від спільноти. Зобов'язання Потреба віддавати щось групі, від якої учасник “отримав так багато” (немає аналогу в інших методологіях). Більш активні учасники зазвичай беруть на себе більше відповідальності. Ідентифікація Те як новачки намагаються влитися (наприклад, підлаштувати свої запитання під норми спільноти), та як досвідчені учасники намагаються відрізнитися, щоб виділятися серед інших. Відносини з конкретними учасниками спільноти Досвід особистих зв'язків (немає аналогу в інших методологіях, хоча наголос на дружбі робився в категорії “Дух” (Участь)). Контакти між учасниками роблять онлайн-спільноту чимось більшим, ніж просто віртуальне місце зустрічі. До речі, при вивченні офлайн-спільнот кожний аспект вимірювався окремо, щоб можна було зрозуміти, що саме потребує покращення. А ось в онлайновому варіанті – є лише один загальний індекс, без розподілу. Але цікаве те, що багато питань співпадають. Корейське дослідження онлайн-спільнот Є альтернативний погляд від корейських дослідників. Вони вважають, що в основі онлайн-спільнот важливі такі моменти: Участь – на це суттєво вплинули офлайн активність, ентузіазм лідерів та можливість отримувати задоволення – саме в такому порядку; Вплив учасника на спільноту – на який значно подіяли офлайн активності; Ступінь занурення – залежить лише від можливості отримувати задоволення, пов'язаного із споживанням контенту та взаємодією з іншими учасниками. Згідно цієї методології – всілякі офлайн активності можуть принести тільки користь для розвитку онлайн-спільноти (за виключенням тих груп, фішкою яких є саме анонімність). Неточність опитування Памятаємо також, що я додав трохи запитань від себе. А ще при опитуванні 100 людей похибка складає 10%. А кількість опитаних склала - всього 37 осіб. Тому це все можна назвати vox pop, якій демонструє різноманіття думок, та допомагає подивитися на все це трішечки з іншого кута зору. Але ні в якому разі це не претендує бути статистичним даними. Підсумки опитування Середній бал серед всіх анкет: 31,73 з 54 можливих. Цей показник сам по собі нічого не означає та потрібен лише для порівняння через деякий час, щоб було зрозуміло, чи мали вжиті дії якісь ефект чи ні. Набагато цікавішими наразі є зовсім інші дані. Далі, сегментація учасників опитування: 18 Власники магазину (без розробників-власників) 18 Розробники (разом із тими, хто є "все в одному") 1 SEO-оптимізатори Окремо сегментація на підгрупи серед розробників: 3 Представники веб або SEO студії 6 Розробники модулів чи шаблонів 6 Фрілансери 3 Все в одному: розробник-власник магазину Цікавинки опитування Я намагався сегментувати респондентів та додав деякі власні питання. Наприклад, стаж роботи з форумом та OpenCart’ом та інші. І от відповіді на ці запитання виявилися також цікавими. 1. На форумі мало “свіжої крові” Виявляється, на форумі мало новачків. Це стосується як розробників, так і власників магазинів. Більшість активних учасників (ті, хто взяв участь в опитуванні) мають стаж на форумі більше 3 років. Лише 5,4% – менше трьох місяців. Виникає логічна думка, що новачків потрібно якось залучати. Для цього можна навмисно щось робити. Наприклад, можна створювати контент для блогу на форумі (ми ж знаєм, що статті на цьому сайті досить гарно попадають в результати пошуку, якщо вони оптимізовані під якійсь ключ). В різний час вже з десяток людей мені сказали, що вони гуглять щось і потім з пошуку потрапляють до нас. А ось нещодавно людина сказала: “Якби я знав про цей форум раніше, купив б шаблон і по ньому робив би сайт”. Але він знайшов форум лише тоді, коли шукав інфу про модулі після кількох місяців “боротьби зі студією”. А міг би нагуглити, коли шукав би: “Топ товарів для продажу в 2023 році” чи може “Дропшиппинг поставщики Украина”, “Як відкрити інтернет-магазин?” або щось подібне, що він шукає на цю тему на той момент, коли він ще навіть не обрав CMS. Запрошую всіх небайдужих учасників влаштувати собі брейншторм та видати ідеї контенту в коментарі (або в повідомлення) 2. На форумі мало хто шукає роботу Хоча багато запитань на форумі виглядають як робота, а не просто запит на інформаційну пораду, лише 2 з 18 розробників (~11%) відповіли, що знаходять на форумі більше половини робочих завдань. Ще 3 розробники (~17%) іноді знаходять тут роботу. Більшість же тут в основному спілкуються та не мають на меті шукати роботу. Цікаво те, що адміністрація транслює завдання в Телеграм-канал, щоб привертати увагу розробників до завдань. Тобто якісь дії на цю тему наче відбуваються. Але фрілансер-новачок (якій націлений на пошук “проектів”) навряд чи знайде форум, коли буде шукати “перелік фріланс-сайтів”, “як фрілансеру встановити ціни на свою роботу” або якійсь подібний запит, якій його хвилює. 3. Більшості опитаних неважлива думках інших учасників спільноти про власні дії Респонденти відповіли про думку інших відносно власних дій так: 43,2% – повністью не важливло (0) 21,6% – важливо до певної міри (1) 29,7% – в основному важливо (2) 5,4% – важливо (3) Якщо подивитися на офлайновий індекс відчуття спільнот, то питання про думку інших знаходиться в групі “Почуття приналежності” або “Дух” спільноти. І от цікаво те, що багато учасників вважають, що форум – це гарне місце, мають намір бути тут надовго, і це наче важливо тут бути. Багато відповіли, що хочуть того ж самого. Але при цьому багатьом байдужа думка інших про власні дії. Виходить якесь протиріччя. В офлайні, якщо люди хочуть бути в якійсь групі, то вони мають враховувати думку інших учасників про власні дії. Інакше спілкування може перетворитися на бійку. В онлайні ж можна прийти і залишити будь який коментар взагалі без урахування контексту та без зайвих роздумів про доречність. Це іноді призводить до “срачів”, які створюють певне враження про сам форум. 4. Мало учасників мають друзів на платформі Причому це стосується навіть розробників модулів та шаблонів, які роками так чи інакше “перетинаються” один з одним. Цікаво також, що деякі розробники інвестують свій час в надання відповідей на запитання та участь в обговореннях. Але немає ініціатив, які б розроблялися спільно та були б направлені на покращеня клієнтського досвіду. 5. В 2022 році більшість втратили добру частину доходу 40,5% опитаних форумчан втратили більше половини довоєнного доходу. Ще 27% втратили більше третини. Таким чином, можна сказати, що загалом і у розробників, і у власників магазинів фінансова ситуація погіршилася. Якщо враховувати лише розробників, то 22% не встратили доходу, тому що працюють на західний ринок. Всього це 4 людини з 18. При чому це виходить по одному щасливчику на кожну підгрупу (див таблицю "сегментація на підгрупи серед розробників"). Це питання я додав для розуміння ситуації. Адже до війни ми працювали на багато ширшому ринку. Тому навіть при збереженні попиту на OpenCart в Україні, ми вже не отримаємо тих самих доходів, що мали раніше. Дуже сумнівно, що навіть після закінчення війни ми будемо повертатися на ринок ворога. Також я помітив, що досвід наших авторів з виходу на англомовний ринок є не дуже вдалим. Наприклад, популярний у нас OCFilter немає таких самих показників на англомовному маркетплейсі. Так само дуже популярний серед наших користувачів шаблон UltraStore не знайшов свого покупця за кордоном. Тож нам (розробникам модулів та шаблонів) залишається або просто змиритися з тим, що маємо, або щось робити для популяризації Опенкарта та форума на нашому внутрішньому ринку. Думки учасників опитування Є багато речей, які залежать лише від адміністрації сайту. Але є певні речі, які залежать лише від нас самих. Пропозиції учасників, як покращити форум: Визначитись чи це професійна платформа, чи місце для срачів Я уже писал что нужен раздел с предложениями исполнителей Зворотній зв'язок розробників Напевно більше автоматизації, інколи доводиться доволі довго чекати на активацію, чи ліцензію. Я часто працюю ввечері, я розумію що розробник не повинен мене чекати, але іноді находиш крутий модуль, який здається вирішить мою проблему, купуєш і все) і чекаєш до обіду (до речі я готовий поділитися скриптом автоліцензії – прийом запиту, обробка даних замовлення, відправка листа – потрібно лише додати генерування ключа) Можно как-то помогать начинающим разработчикам Прибрати всі модулі які порушують GPL-ліцензію Зробити щось, щоб звернути увагу користувачив, що тут немає безкоштовної допомоги по всім питанням. І надати можливість купувати платну допомогу. Наприклад, додати перелік перевірених партнерів веб-студій, щоб кліенти, які бажають отримати якісні послуги могли знайти виконавців, які виконають роботу, а не будуть їх тролити в безкоштовному обговоренні. Завершити переклад на Українську мову Виправити всі недоліки перекладу, баги по форуму (їх достатньо). Приділити увагу СЕО Що дратує учасників на форумі? Постійні срачі, наїзди учасників форума один на одного та ігнорування "зірок" цих срачів адміністрацією Деякі розробники забувають, що в спільноті можуть бути люди які далекі від коду. Саме тому вони і прийшли, за комфортним модулем, а не написали рішення власноруч. У такому випадку ти часто отримуєш відповідь, яку ще треба розшифрувати. Або робіть нормальне FAQ або допоможіть з питаннями Биті посилання, недостатні описи, інструкції Безвідповідальність розробників! Хейт. Краще коли спілкуються по темі, а не розводять срач. Не має нормальної системи знижок Як і на будь якому іншому форумі — новачки, які не намагаються знайти відповідь за допомогою пошуку, а потім в цій темі починають засипати ще й іншими запитаннями, майже покроковими вирішеннями цілої купи проблем які в них ніби то є)) неудобный поиск на форуме и фильтр модулей Коли на куплений модуль треба чекати, а розробник не відповідає 7 з 37 дратують русня на форумі (відповіді були в різних варіаціях, але по суті вони на одну тему) Кожен автор має власний підхід. То щоб зробити сайт — потрібно кожного почухати Есть небольшая часть псевдоспециалистов Навіщо я взагалі зробив це опитування? Мені не дає спокою той факт, що загальна цікавість до створення інтернет-магазинів в Україні навіть під час війни лише зростає(!), але люди обирають інші більш дорогі інструменти. Боюся, що в цьому мене можуть неправильно зрозуміти, що я “заздрю сусідам” чи щось подібне. Але я трохи про інше. На мою думку потрібно щось робити, щоб популяризувати Опенкарт. І це ж наче має бути вигідно всім: і розробникам, і адміністрації форума. В мене навіть була ідея спільно з іншими бажаючими зробити набір модулів, які можна використовувати всім, хто створює нові шаблони, щоб додати різноманіття дизайнів, але прискорити саму розробку. Але, перед тим, як пороти гарячку, я вирішив дізнатися, як йдуть справи в інших учасників спільноти та чи готовий хтось взагалі співпрацювати та щось робити для просування форума? Маючи дуже поверхневі знання в соціології, я знаю лише те, що відповіді на прямі запитання на кшталт “хочешь співпрацювати?” є дуже ситуативним, тому потрібно дізнатися більш глибинні настрої та більш детально зрозуміти ситуацію. Ось тому я провів це опитування, яке наче для того і вигадано, щоб оцінити стан спільноти та взаємодію учасників. А ще всілякі опитування — це певна розвага, що також буває корисним . P.S. Хто має якісь думки по темі, пишить в коментарі або мені в повідомлення.
  13. Добридень! З версії 1.15.0 переробив фільтр товарів. Тепер і в Списку товарів можна обирати набір Категорій (і Підкатегорії).
  14. Ха-ха. По ходу перелік змін ocStore трохи неточний. В OpenCart дійсно вже є Title але досі немає H1 з коробки. --- OCFilter сумісний і з ocStore. Більшість модулів на форумі сумісні і з чистим OpenCart, і з ocStore. --- Можна. Але навіщо, якщо воно вже є? --- Ну и Seo Pro вбудований в ocStore і його не потрібно купувати. --- Ну на базі браузера Chromium є декілька більш відомих браузерів. Як так вийшло? Беруть готовий OpenSource проектта додають чогось свого, не витрачаючи сили на напис основи. Концентруються лише на фішках, які відрізняють кінцевий продукт в ліпшу сторону.
  15. Добридень! Виправив та прикріплюю. Також воно війде в архів з версією 1.6.0, але коли вона вийде -- невідомо. shortdescription.nicetheme-fixed.ocmod.zip
  16. Ось тут описано: https://opencartforum.com/opencart/ Добавление мета-тегов og:url, og:image, og:type, og:title; Добавление файла robots.txt; Добавлены title и h1 для товаров; Добавлены title и h1 для категорий; Для статей добавлены title, h1, meta keywords и meta description; Для производителей добавлены title, h1, meta keywords, meta description и description; Добавлен альтернативный метод формирования ЧПУ исключающий формирование разных ссылок для одной страницы; Добавлено noindex и follow для технических страниц, сортировок, лимитов и при необходимости можно управлять этими параметрами на страницах товаров, категорий, статей, производителей, блога Добавлен SeoPro Добавлено способ вывода тегов canonical, prev, next Добавлено гибкое управление выводом тега noindex Добавлен модуль для создания рассылок через сервис Unisender Добавлена возможность скрытия неиспользуемых модулей, методов оплат и доставок Добавлен блог Добавлен редактор модификаторов с возможностью бекапа Связка блога с товарами, категориями, производителями Рекомендуемые товары с привязкой к товарами, категориями, производителями Статьи блога с привязкой к товарами, категориями, производителями Название в заголовке при редактировании категорий, производителей, товаров, статей Добавлены макеты в производителях Поиск в админ панели Добавлена возможность смены сортировки модулей в макетах перетаскиванием Добавлена возможность сортировки товаров и статей перетаскиванием в модулях рекомендуемых Добавлен Домовой - Виджет для мониторинга состояния магазина 1.0.1 Исправлена пагинация (удалено дубль первой страницы, убрано дублирование мета) Улучшение фильтра товаров в админ панели Порядок сортировки расширений (активные вверху) Оптимизирован листинг категорий в админке В навигацию добавлено быстрое добавление категорий, покупателей, продуктов, производителей, загрузок Переход в каталог из админ панели Подбор товаров по любому из символов в админ панели Номер заказа на странице подтверждения Вынесено в настройки лимит количества отображаемых элементов при поиске с автодополнением в админке Изменен стандартный источник курса валют (Добавлен Центробанк ЕС, Центробанк РФ, Нацбанк Украины, Fixer) Применение фильтров в админке по нажатию на Enter на страницах заказов, возвратов, покупателей, периодических заказах, статьях блога Обновлен класс файлового кеша, для устранения ошибки
  17. Прикріплюю посилання А ще ось інтервью -- https://opencartforum.com/news/interview/blondi/
  18. @Blondi, дуже круто, що Ви відгукнулися! Розкажіть, будь ласка, шлях від початкового магазину до постачальника. Гадаю, це буде дуже цікаво прочитати тим, хто замислюється над тим, щоб відкрити інтернет магазин.
  19. А пенсійний фонд? Налоги ви явно не сплачуєте ) ЕСВ на разі є не обов'язковим.
  20. Ну якщо тут вже кілька разів використані комерційні назви, то мабуть не буде гріхом сказати, що є хмарне рішення LetMe.Shop на основі OpenCart, де наче і запуститися можна швидко, і потім можна перенести сайт
×
×
  • 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.