Opencart модификаторы: Написание модификатора для OpenCart 3.x

Содержание

Модуль Менеджер модификаторов OCmod Opencart 3.0

Менеджер модификаторов OCmod — очень полезный модуль для любого администратора сайта на Opencart 3.x. Вы сможете быстро и удобно редактировать или создать модификацию в редакторе с подсветкой кода, адаптировать ocmod.xml под ваш шаблон, увидеть лог ошибок модификаций в удобном виде.

Редактор модификаций полезный не только для разработчиков и программистов, но и для обычных пользователей админки Opencart — ведь в любое время может понадобиться сделать какие-то правки в модификации какого то модуля.

Инструкция по установке:
1. Загрузить архив через Установку модулей в админке
2. Обновить модификации

  • Opencart 3.0.0.0
  • Opencart 3.0.1.1
  • Opencart 3.0.1.2
  • Opencart 3.0.2.0 или ocStore 3.0.2.0
  • Opencart 3.1.0.0
  • Opencart 3.0.3.1
  • Opencart 3.0.3.2
  • Opencart 3.0.3.3
  • Opencart 3. 0.3.6
  • Opencart 3.0.3.7 и OcStore 3.0.3.7

1. «Директория не доступна для записи!» или «Папка не разрешена для записи!»»

Решение проблемы:

Скачайте и установите дополнение Localcopy OCMOD

После установки этого дополнения нужно перейти в раздел Модификаторы и нажать кнопку «Обновить модификаторы». После этого можно устанавливать другие модули.

2. Модуль установился и работает в админке, но на сайте ничего не отображается

Возможно несколько проблем и вариантов их решения:

1. Не сброшен кеш шаблона  — нужно обновить кеш [скриншот]

2. Вы раньше редактировали файлы шаблона через админку в разделе «Редактор темы», тогда этот файл сохранился в базе данных и на него уже не влияют ocmod-модификаторы, это проблема Opencart 3. Вам нужно установить фикс [скачать] и обновить модификации в админке.

3. Ваш шаблон устроен на TPL-файлах (*.tpl), в то время, когда в Opencart 3 шаблоны должны быть в формате TWIG (*.

twig). Проблема в том, что ocmod-модификаторы не влияют на TPL-файлы — все изменения нужно вносить в эти файлы вручную.

3. Ошибка 500 Internal Server Error

Нужно включить вывод всех ошибок php на экране — для этого в файле .htaccess в конце нужно добавить строки:

php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

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

4. Не работает модуль на Opencart 3.0.3.6

В официальных сборках Opencart 3.0.3.5 — 3.0.3.6 есть баг — там модификаторы не работают с twig-файлами из-за ошибки в стандартном модификаторе /system/modification.xml — вторая операция из этого модификатора не срабатывает.
Проблема есть на оф. гитхабе и предложено решение https://github.com/opencart/opencart/blob/3.0.x.x_Maintenance/upload/system/modification.xml

Мы сделали фикс-модификатор по этим рекомендациям, он заменит файл /system/modification. xml на правильный.

Решение проблемы:
1. Сделайте резервную копию вашего файла /system/modification.xml
2. Скачайте фикс-модификатор по ссылке и установите его у себя в админке
3. Обновите кэш модификаторов
4. Обновите кэш twig-шаблонов

Включите javascript, чтобы увидеть комментарии

Создание модификаторов modification opencart — hqline

Можно в поиске использовать рег.выражения

Образец-заготовка нового модификатора. До тега file идёт инфорамция о модификаторе

<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name></name>
  <code></code>
  <version></version>
  <author></author>
  <link></link>
<!--
<file path=">
	<operation>
      <search index="0"></search>
      <add position="replace"></add>
    </operation>
  </file>
-->
</modification>

FILE

Внутри тега file прописывается путь до файла, в который будет добавлен новый код.

Чтобы добавить модификацию в несколько файлов в любом подкаталоге используется звёздочка (обозначает любой подкаталог) и фигурные скобки с перечислением внутри изменяемых файлов.

<file path="catalog/controller/*/{product.php,oct_product_viewed.php}">

SEARCH

Используется для поиска кода, относительно которого будут добавлены новые строчки

<search index="0">[CDATA! <search>

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

Внимание: многострочный поиск(по нескольким строкам) в модификаторах не работает!

ADD

Используется для добавления в файл новых строчек кода. Имеет атрибут position для указания куда будет встраиваться новый код.

before — до искомого кода, after — после, replace — вместо

Менеджер модификаторов

Для удобства редактирования модификаторов разработан модуль, расширяющий стандартный функционал модификаторов

modificationmanager-3.1.0.6.ocmodСкачать

modificationmanager-3.0.0.6.ocmodСкачать

modification_manager_oc22-23.ocmodСкачать

modification_manager_oc20-21.ocmodСкачать

Содержание

СТАТЬИ БЛОГА ПО РУБРИКЕ И МЕТКАМ

Какие включить доп. функции в плитку тегов

1. добавление тегов с автоподстановкой* через админку

*автоподстановкой названий товаров/категорий

см.видео

2. вывод плитки в любом месте шаблона через селекторы html(class или id)

см.видео

пояснения

подробная инструкция

3.  замена дизайна плитки тегов с «карусели»(базовый дизайн) на «таблетки»

скрин (декстопная версия)

скрин (мобильная версия)


3а. замена изначального дизайна на «квадраты»

живой пример

скрины


3b. замена изначального дизайна на цепочку с кнопкой

живой пример

скрины


3c. замена изначального дизайна на дизайн с табами

скрин

живой пример_1

живой пример_2 (с картинками у тегов)

живой_пример_3 (с кнопкой <показать все>)


4. функция «упорядочивание тегов по полкам на витрине».

Подойдёт тем, у кого на одной странице очень много тегов и их нужно как-то упорядочить.

см.скриншот(декстоп)

см.скриншот(смартфон)

видео

живой пример

4а.Вывод плиток тегов в нескольких областях сразу

скриншот

инструкция

5. функция «отобразить плитку во всех товарах категории».

Допустим, у вас в магазине есть категория, в которой 500 товаров, а вам требуется добавить одну и туже плитку тегов в каждом из них. Если подключена данная функция, то достаточно добавить в эксель-файл для импорта только 1 строку и теги появятся на 500 страницах.


5_a. расширение функции №5 на подкатегории.

6. вывод плитки в листинге товаров

см.скрин

7. мультиязычность

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

скриншот

8. Самостоятельный генератор тегов из товаров

см.статью


10. выгрузка всех тегов с сайта в эксель-файл

11. добавление тегов непосредственно в админке товара или категории

скрин

инструкция

12. Формирование посадочных страниц  к опциям/атрибутам стандартного фильтра

у страниц стандартного фильтра товаров появится ЧПУ(SEO URL), мета-теги (keywords,description), title (заголовок страницы) и h2.

видео


13. Ранжирование тегов по популярностиЧитать дальше

Какие включить доп. функции в плитку тегов

1. добавление тегов с автоподстановкой* через админку

*автоподстановкой названий товаров/категорий

см.видео

2. вывод плитки в любом месте шаблона через селекторы html(class или id)

см.видео

пояснения

подробная инструкция

3. замена дизайна плитки тегов с «карусели»(базовый дизайн) на «таблетки»

скрин (декстопная версия)

скрин (мобильная версия)


3а. замена изначального дизайна на «квадраты»

живой пример

скрины


3b. замена изначального дизайна на цепочку с кнопкой

живой пример

скрины


3c. замена изначального дизайна на дизайн с табами

скрин

живой пример_1

живой пример_2 (с картинками у тегов)

живой_пример_3 (с кнопкой <показать все>)


4. функция «упорядочивание тегов по полкам на витрине».

Подойдёт тем, у кого на одной странице очень много тегов и их нужно как-то упорядочить.

см.скриншот(декстоп)

см.скриншот(смартфон)

видео

живой пример

4а.Вывод плиток тегов в нескольких областях сразу

скриншот

инструкция

5. функция «отобразить плитку во всех товарах категории».

Допустим, у вас в магазине есть категория, в которой 500 товаров, а вам требуется добавить одну и туже плитку тегов в каждом из них. Если подключена данная функция, то достаточно добавить в эксель-файл для импорта только 1 строку и теги появятся на 500 страницах.


5_a. расширение функции №5 на подкатегории.

6. вывод плитки в листинге товаров

см.скрин

7. мультиязычность

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

скриншот

8. Самостоятельный генератор тегов из товаров

см.статью


10. выгрузка всех тегов с сайта в эксель-файл

11. добавление тегов непосредственно в админке товара или категории

скрин

инструкция

12. Формирование посадочных страниц  к опциям/атрибутам стандартного фильтра

у страниц стандартного фильтра товаров появится ЧПУ(SEO URL), мета-теги (keywords,description), title (заголовок страницы) и h2.

видео


13. Ранжирование тегов по популярности

модули opencart мульти склад

Создание мульти склада в opencart и получение остатков из 1С

  • Реализована возможность работать с несколькими складами в Opencart. Общий остаток товара складывается из остатков на складах.
  • Реализована передача остатков в интернет-магазин (ИМ) из выгрузки 1С.
  • Реализован вывод остатков по складам в карточке товара.

II. Подробное описание модуля

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

— если на «складе 1» товара нет, но на основном складе этот товар есть (или есть на складе 2), то в карточке на витрине будет показываться статус ожидание 1 день
— если нигде товара нет, то в карточке — статус нет в наличии
— если на выбранном складе товара менее Х штук, то статус — мало. (значение Х доступно для корректировки из админ-панели)

2. В модуле опенкарта реализована возможность добавлять/убирать склады и корректировать их настройки.  Чтобы работало обновление остатков из 1С, в настройках модуля требуется складам присвоить GUID из 1с.

3. Списание остатков производится в зависимости от способа доставки в заказе. Например, если выбрана курьерская доставка, то списание товара начнётся с основного склада, продолжится со склада 1 (при отсутствии на основном), далее со склада 2. Если в методе доставки заказа выбран самовывоз со склада 1 или со склада 2, то вначале списание произойдет с выбранного склада, затем с основного склада, и далее с последнего склада, где остались остатки. Приоритеты списания остатков настраиваются в админ-панели модуля.

Читать дальше

Создание мульти склада в opencart и получение остатков из 1С

  • Реализована возможность работать с несколькими складами в Opencart. Общий остаток товара складывается из остатков на складах.
  • Реализована передача остатков в интернет-магазин (ИМ) из выгрузки 1С.
  • Реализован вывод остатков по складам в карточке товара.

II. Подробное описание модуля

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

— если на «складе 1» товара нет, но на основном складе этот товар есть (или есть на складе 2), то в карточке на витрине будет показываться статус ожидание 1 день
— если нигде товара нет, то в карточке — статус нет в наличии
— если на выбранном складе товара менее Х штук, то статус — мало.  (значение Х доступно для корректировки из админ-панели)

2. В модуле опенкарта реализована возможность добавлять/убирать склады и корректировать их настройки.  Чтобы работало обновление остатков из 1С, в настройках модуля требуется складам присвоить GUID из 1с.

3. Списание остатков производится в зависимости от способа доставки в заказе. Например, если выбрана курьерская доставка, то списание товара начнётся с основного склада, продолжится со склада 1 (при отсутствии на основном), далее со склада 2. Если в методе доставки заказа выбран самовывоз со склада 1 или со склада 2, то вначале списание произойдет с выбранного склада, затем с основного склада, и далее с последнего склада, где остались остатки. Приоритеты списания остатков настраиваются в админ-панели модуля.

opencart wordpress

Переход на https в opencart wordpress

Для wordpress

https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564

Для нулевых сайтов на opencart

Читать дальше

Переход на https в opencart wordpress

Для wordpress https://zen. yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564 Для нулевых сайтов на opencart

opencart wordpress

Переход на https в opencart wordpress

Для wordpress

https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564

Для нулевых сайтов на opencart

Читать дальше

Переход на https в opencart wordpress

Для wordpress https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564 Для нулевых сайтов на opencart

opencart

Как наполнить opencart 2.3 fake-заказами

Подключиться к БД другого интернет-магазина и выкачать оттуда заказы с помощью запроса С помощью хранимой процедуры актуализируем заказы, на одну дату по пять заказов Если получились заказы из будущего, то запросом delete удаляем лишнии, в […]

Читать дальше

Как наполнить opencart 2.

3 fake-заказами Подключиться к БД другого интернет-магазина и выкачать оттуда заказы с помощью запроса С помощью хранимой процедуры актуализируем заказы, на одну дату по пять заказов Если получились заказы из будущего, то запросом delete удаляем лишнии, в […]

opencart

Создание pdf с деталями заказа в письме клиенту. Opencart

Сделано в OPENCART 2.3. Скачать библиотеку, зайти в папку с ней через консоль команд и выполнить команды git clone https://github.com/dompdf/dompdf.git cd dompdf git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib cd lib/php-font-libgit checkout 0.5.1 cd .. git clone https://github.com/PhenX/php-svg-lib.git […]

Читать дальше

Создание pdf с деталями заказа в письме клиенту. Opencart

Сделано в OPENCART 2.3. Скачать библиотеку, зайти в папку с ней через консоль команд и выполнить команды git clone https://github.com/dompdf/dompdf.git cd dompdf git clone https://github. com/PhenX/php-font-lib.git lib/php-font-lib cd lib/php-font-libgit checkout 0.5.1 cd .. git clone https://github.com/PhenX/php-svg-lib.git […]

Документация OpenCart

Написание модулей OpenCart может быть очень хорошим способом узнать, как на самом деле работают основы OpenCart. Как и остальная часть OpenCart, модули следуют шаблону проектирования MVCL. В этом руководстве по документации описывается, как вы используете каждый из компонентов MVC-L для создания административной и внешней частей вашего модуля. Самый простой способ создать модуль — загрузить каркас DIY Module Builder из HostJars. Этот модуль содержит структуру каталогов, файлы и инструкции о том, как понять и создать свои собственные модули. Эта страница является более теоретическим руководством.

Базовая структура каталогов

Базовая файловая структура вашего модуля будет разделена на две секции: папки администратора и папки каталога. Содержимое каждой папки будет соответствовать структуре MVC-L соответственно, с той разницей, что администратор будет иметь дело исключительно с внутренними функциями, а каталог — с внешними функциями. Пользователи вашего модуля будут взаимодействовать и настраивать его параметры в административной части магазина. Таким образом, файлы в папке администратора будут обрабатывать любые изменения его настроек, способ отображения модуля в администрировании, установку/удаление модуля и т. д. Аналогично, способ отображения модуля и его работу во внешнем интерфейсе. магазина будут обрабатываться файлы в папке каталога.

На изображении выше показан скелет структуры каталогов, которой должен следовать ваш модуль. Хороший способ начать работу с вашим модулем — продублировать структуру папок и создать файлы, указанные выше. То, что будет находиться в этих файлах, определяется тем, что ваш модуль пытается выполнить, но основные функции подробно описаны в разделах ниже.

Функциональность административного модуля

Когда владелец магазина использует ваш модуль, он захочет отредактировать параметры конфигурации модуля в административной панели, чтобы решить, на каких макетах отображать модуль, включен он или отключен, а также какой-либо конкретный модуль параметры. Как разработчику модуля, вам нужно будет создать страницу администратора, где модуль может быть отредактирован, а параметры конфигурации добавлены или изменены.

Все файлы администратора находятся в папке admin/. В папке admin/ вы найдете четыре папки:

  1. контроллер
  2. просмотр
  3. язык
  4. модель

Для всех модулей требуется по крайней мере один файл в каждой папке представления и контроллера. Большинству потребуется файл в каждой из папок модели и языка. Обычно файлы имеют одно и то же имя, за исключением того, что файл представления имеет другой суффикс (.twig). Мы пройдемся по этим файлам один за другим.

Контроллер

Первый файл, который вы создадите, будет контроллером для страницы административного интерфейса вашего модуля. OpenCart автоматически определяет существующие модули, просто читая папку admin/controller/module вашего магазина. Любые модули, существующие в этой папке, будут автоматически отображаться на странице «Модули» и на странице «Разрешения пользователя». Вы можете назвать файл вашего контроллера my_module.php.

Файл контроллера — это место, куда вы можете загрузить языковые файлы для преобразования текста в переменные для использования в файле шаблона. На диаграмме выше вы можете видеть, что переменная $_[‘text’] обрабатывается контроллером, а затем отправляется как $text в представление. Здесь вы также будете использовать несколько файлов моделей и их функции классов, включая файл модели вашего модуля, если он есть. Дополнительные сведения о загрузке файлов см. в разделе Загрузка файлов в контроллер.

У вас также может быть функция, определенная как общедоступная функция install(). Эта функция активируется при нажатии ссылки установки на странице «Расширения» > «Модули». Точно так же функция, определенная как общедоступная функция uninstall(), будет запущена при нажатии на ссылку удаления. Вы можете использовать эти функции для создания и удаления любых структур (таких как таблицы базы данных или настройки конфигурации), необходимых вашему модулю. Хорошей практикой является создание функции удаления для очистки любых изменений, внесенных вашим модулем. Чтобы увидеть конкретный код для install(), uninstall(), посетите страницу Установка/удаление модуля.

Доступ через URL-адрес

Контроллер — это единственный файл в среде MVC-L, доступ к которому осуществляется через URL-адрес в OpenCart. В админке URL будет иметь вид /admin/index.php?route=module/my_module&token. Админ добавляет токен к URL, тогда как ссылка в каталоге его не имеет. В результате файл контроллера будет иметь функцию, определенную как public function index(). Это общедоступная «страница», которая загружается по URL-адресу, который будет отображаться при нажатии кнопки «Изменить» и на которую будет отправлена ​​​​форма просмотра. Представленные данные будут обработаны в этой функции и сохранены в таблице базы данных «Настройки» через объект конфигурации контроллера.

View

Второй необходимый файл для административного интерфейса вашего модуля — это файл view. Он будет создан в папке admin/view/template/module и будет иметь суффикс .twig. Это стандарт для файлов просмотра OpenCart. В этом файле вы создадите форму, которую пользователь должен заполнить и отправить. Он будет отправлен в индексную функцию контроллера модуля. Самый простой способ создать файл представления — скопировать и вставить существующий аналогичный файл представления и отредактировать форму, чтобы она содержала правильные поля для параметров конфигурации вашего модуля. Вы можете назвать файл представления my_module.twig.

В представлении вы сможете получить доступ к тексту на языке, который файл контроллера сохранил как переменную PHP. Код о том, как это сделать, см. в разделе Загрузка файлов в контроллере.

Модель

Для модулей редко требуется файл модели на стороне администратора. Однако, если ваш модуль использует свою собственную таблицу базы данных или пользовательский запрос для создания данных определенного формата, вы можете столкнуться с тем, что пишете файл модели. Примером этого может быть, если вы пишете модуль счетчика посетителей, где каждый посетитель хранится в таблице базы данных с его IP-адресом и количеством посещений. Затем вы можете создать файл модели с функцией определения и создания этой дополнительной таблицы в базе данных OpenCart. Файл модели будет находиться в папке admin/model/module. Вы можете назвать файл модели my_module.php так же, как ваш контроллер и языковые файлы.

Функциональность внешнего интерфейса

Внешний интерфейс вашего модуля следует той же схеме, что и только что описанный интерфейс администратора. То, что вы будете включать в каждый из ваших файлов внешнего интерфейса, во многом будет зависеть от того, что должен делать ваш модуль. Модуль может получить доступ к любым файлам модели, которые уже существуют в OpenCart, вам не нужно писать свои собственные запросы к базе данных, если такой же запрос уже существует. Например, модель каталога/продукта содержит множество полезных запросов для получения продуктов. Использование этих функций модели должно быть предпочтительнее, чем изобретать велосипед.

Ключевое отличие внешнего интерфейса вашего модуля заключается в том, что ваш файл представления будет находиться в папке catalog/view/theme/(themename)/template/module. Это значительно более глубокая структура папок по сравнению с файлом представления администратора из-за тем. В магазине OpenCart может быть много разных тем внешнего интерфейса, но только один шаблон администратора. (themename)

В интерфейсной части вашего модуля у вас будет доступ к параметрам конфигурации, сохраненным вашим модулем, как через объект конфигурации контроллера, так и через переменную $settings, переданную в индексную функцию контроллера модуля. Вы можете управлять аспектами внешнего интерфейса на основе этих настроек.

Расширения и модули OpenCart

Зачем нужны модули в OpenCart?

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

Новый интернет-магазин на CMS OpenCart нуждается во многих доработках и некоторые из них могут быть реализованы с помощью наших модулей. Вам нужно только установить необходимый модуль, настроить по инструкции и результат не заставит себя долго ждать. Конечно, вы можете доработать сайт самостоятельно, если обладаете необходимыми знаниями. На самом деле CMS OpenCart — очень простая система и не требует знания каких-либо уникальных фреймворков или языков программирования. Вся CMS написана на языке программирования PHP и построена по архитектуре MVC (Model-View-Controller), т.е. система разделена на три части, которые связаны между собой — модель данных, шаблон вывода и модуль управления ( контроллер). Основой является «модель», она «общается» с базой данных, получает все необходимые данные и управляет ими. Контроллер получает эти данные и обрабатывает их для дальнейшего вывода в шаблон. Наконец, выходной шаблон представляет собой представление информации в требуемом виде. Выходные шаблоны формируются на основе HTML-разметки с использованием шаблона Twig. В предыдущих версиях OpenCart в шаблонах использовался PHP. То есть для самостоятельной доработки сайта, без использования модулей, необходимо понимание концепции архитектуры MVC, а также необходимые знания PHP, mySQL, HTML, Twig, JavaScript (jQuery) и CSS. Но если у вас недостаточно знаний — нужно либо осваивать вышеперечисленные технологии проектирования и разработки ПО, либо обращаться к модулям. Модули OpenCart — это готовые программные компоненты, для встраивания которых не требуется специальных знаний в области программирования, т. к. взаимодействие с ними обычно происходит через графический интерфейс административной панели вашего сайта.

Особенности расширений OpenCart

⊛ Тип расширения OCMOD
⚙ CMS OpenCart
✶ Версии 2.x, 3.x, 4.x
æ Многоязычность поддерживается
❂ Техническая поддержка бесплатна

Загрузка модулей OpenCart

90 002 Скачать расширения для OpenCart — исключительно модули ocmod, построенные на системе модификаторов, используемой этим CMS. Мы не пишем модули на устаревшую систему модификаторов vqmod, так как новая система ocmod встроена в CMS на программном уровне и позволяет установить модуль прямо из админки сайта, а так же в любой момент удалить все установленные файлы в один клик. Разработчики OpenCart постепенно внедряют систему Events и, надеюсь, в будущем эта система будет усовершенствована в CMS и полностью заменит системы модификаторов, которые не позволяют сделать универсальный модуль для работы с любыми другими модулями и шаблонами.

Так как существует большое количество пользовательских сборок на базе OC, говоря о совместимости наших модулей с OpenCart разумно понимать, что они будут совместимы и с другими кастомными релизами, такими как OcStore, OcShop, OcCMS, OpenCart ПРО. Гарантированная совместимость с версиями 3.0.0.0, 3.0.0.2, 3.0.1.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.0, 3.0.3.1, 3.0.3.2, 3.0.3.3, 3.0.3.4, 3.0. 3.5, 3.0.3.6, 3.0.3.7, 3.0.3.8

Плагины и дополнения на английском языке с авторской поддержкой для поисковой оптимизации сайта

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

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *