Jump to content
  • Документация OpenCart

    Подробное руководство по использованию OpenCart

    Абсолютно прозрачная, с открытым исходным кодом, эффективная и легко настраиваемая платформа OpenCart для создания вашего интернет магазина. OpenCart обеспечивает профессиональный и надежный фундамент, из которого просто построить успешный интернет-магазин. Эта платформа привлекает широкий круг пользователей, начиная от опытных веб-разработчиков, ищущих удобный интерфейс для использования, до владельцев магазинов, которые только начинают свой бизнес впервые в интернете. OpenCart обладает обширным функционалом, количество которого позволяет вам управлять абсолютно любыми настройками вашего магазина. С помощью инструментов OpenCart вы легко можете помочь вашему интернет-магазину реализовать свой потенциал в полной мере.
    content bot
    Описание Отчётов в OpenCart
    В систему OpenCart встроен инструмент аналитики, которая позволяет получать отчетность по различным действиям происходящими на сайте. В разделе Отчеты мы можем ознакомится с отчетами по двенадцати различным пунктам, такими как:
    Транзакции покупателей Активность покупателей Заказы покупателей Бонусные баллы покупателей Поисковые запросы Налоги Доставка Возвраты Продажи Купоны Просмотры товаров Продажи товаров Маркетинговый отчет Каждый из отчетов предоставляет более-менее подробную информацию по активности покупателя, просмотрам и продажам товаров и прочую аналитику.
    Отчёты по транзакциям покупателей
    Инструмент отчетов по начисленным транзакциям покупателей
    Транзакции покупателей
    Покупатель: Имя клиента. E-mail: Электронный почтовый адрес покупателя, указанный при регистрации. Группа:. Группа покупателей к которой относится конкретный покупатель. Статус: Статус покупателя "Включен" или "Отключен". Итого: Общая сумма всех начисленных транзакции покупателю. Действие: Платеж совершен или отменен. Отчеты по активности клиентов
    Этот раздел отчётов предоставляет список последних действий покупателей. Фильтр для всех ваших клиентов и их активности по периоду времени. Вы можете видеть имя учетной записи каждого клиента, его IP-адрес и вид активности на каждую дату.
    Активность покупателей
    Комментарий: Имя покупателя и краткое описание какого либо совершенного им действия, к примеру: создан заказ, добавлен отзыв, изменен адрес и прочие действия. IP: Выводит IP адрес с которого покупатель посещал сайт. Дата: Вывод даты с точным временем совершения определённого действия. Отчёты по заказам покупателей
    Данный отчет по заказам покупателей предоставляет подробную информацию о заказах каждого покупателя.
    Заказы покупателей
    Покупатель: Имя клиента E-mail: Электронный почтовый адрес покупателя, указанный при регистрации. Группа:. Группа покупателей к которой относится конкретный покупатель. Статус: Статус покупателя "Включен" или "Отключен". Количество заказов: Общее количество заказов, сделанных конкретным покупателем. Количество товаров: Общее количество товаров, заказанных конкретным покупателем. Итого: Общая сумма заказов. Действие: Кнопка редактирования учётной записи покупателя. Отчёты по бонусным баллам покупателей
    Подробные отчёты предоставляются по каждому покупателю. Помимо основных идентификационных данных покупателя добавлен пункт "Баллы", которые начисленны за покупку товаров и т.д.. Указывается общее количество начисленных покупателю баллов за одну покупку, или если клиент купил несколько товаров.
    Бонусные баллы покупателей
    Покупатель: Имя клиента E-mail: Электронный почтовый адрес покупателя, указанный при регистрации. Группа:. Группа покупателей к которой относится конкретный покупатель. Статус: Статус покупателя "Включен" или "Отключен". Баллы: Общее количество бонусных баллов, начисленных конкретному покупателю. Количество заказов: Общее количество заказов, сделанных конкретным покупателем. Итого: Общая сумма заказов. Действие: Кнопка редактирования учётной записи покупателя. Отчёты по поисковым запросам
    Роздел подробных отчетов с фильтрацией данных по поисковым запросам, производимым покупателями на витрине магазина.
    Поисковые запросы
    Запрос: Запрос в поисковой строчке сайта, который сделал покупатель. Найдено товаров: Количество товаров найденых по данному запросу. Категория: Категория, к которой принадлежат товары. Покупатель:. Имя покупателя, сделавшего запрос. IP. Адрес клиента, сделавшего запрос. Дата. Дата поиска по сайту. Отчёты по Налогам
    Этот инструмент налогового отчета показывает, какой тип налога оплачивается больше всего покупателями. Налоговая информация отображается с ежедневным, еженедельным, ежемесячным или ежегодным периодом времени в зависимости от настроек фильтра
    Налоги
    Дата начала: Дата начала отслеживаемого периода времени, в зависимости от параметров фильтра. Дата окончания: Дата окончания отслеживаемого периода времени, в зависимости от параметров фильтра. Налог: Наименование используемого типа налога. Заказов: Количество совершённых заказов в определёный период времени. Итого: Общая сумма денег, уплаченных за налоги покупателями в заданый период времени. Отчёты по доставкам
    Инструмент отображения отчетов о способах доставки, использумых покупателями при совершении заказов. Информация о способах доставки отображается с ежедневным, еженедельным, ежемесячным или ежегодным периодом времени, в зависимости от настроек фильтра
    Доставки
    Дата начала: Дата начала отслеживаемого периода времени, в зависимости от параметров фильтра. Дата окончания: Дата окончания отслеживаемого периода времени, в зависимости от параметров фильтра. Способ доставки: Название используемого способа доставки. Заказов: Количество совершённых заказов в определёный период времени. Итого: Общая сумма денег, уплаченных за доставку в определёный период времени. Отчёты по возвратам
    Отчет о возвратах показывает, сколько возвратов было запрошено в течение заданного периода времени. Информация о возврате отображается с ежедневным, еженедельным, ежемесячным или ежегодным периодом, в зависимости от того, какой параметр выбран в фильтре.
    Возвраты
    Дата начала: Дата начала отслеживаемого периода времени, в зависимости от параметров фильтра. Дата окончания; Дата окончания отслеживаемого периода времени, в зависимости от параметров фильтра. Возвратов: Показывает количество запросов на возврат, отправленных покупателями и / или созданных в определённый период времени. Отчёты по продажам
    Отчет о количестве продаж по определённым периодам времени. Используя фильтр, можно сгруппировать данные по дням, неделям, месяцам и годам. Выводит данные: за период, количество совершенных заказов, количество купленных товаров, налог и общую сумму продаж.
    Продажи
    Дата начала: Дата начала отслеживаемого периода времени, в зависимости от параметров фильтра. Дата окончания: Дата окончания отслеживаемого периода времени, в зависимости от параметров фильтра. Заказов: Общее количество совершённых заказов в определёный период времени. Товаров: Общее количество товаров, купленных в определёный период времени. Налог: Общая сумма оплаченных покупателями начисленных налогов. Итого: Общая сумма продаж за определёный период времени. Отчёты по использованным купонам
    Отчет по купонам отслеживает использование купонов покупателями в магазине на OpenCart.
    Купоны
    Купон: Наименование купона. Код: Код купона, который использовался покупателем. Заказы: Количество заказов, при которых использовали конкретный купон. Итого: Общая сумма всех использованных купонов. Так как покупатель использует купон для получения скидки на товар или заказ - итог является отрицательным числом. Действие: Кнопка редактирования конкретного купона Отчёты по просмотрам товаров
    Инструмент отчетов по просмотренным товарам дает представление о том, какие товары просматриваются больше или меньше всего посетителями вашего магазина. В отчете, помимо наименования самого товара, будет отображаться количество посетителей, которые просматривали конкретный товар, и процент просмотров в соотношении к другим товарам. Кнопка Сбросить которая размещена справа вверху в таблице отчетов, очищает информацию по данным отчётам.
    Просмотры товаров
    Название товара: Наименование товара. Модель: Модель или код товара. Просмотров: Количество просмотров посетителями. Процент: Соотношение просмотров ко всем товарам в процентах. Отчёты по продажам товаров
    Этот инструмент отчетов предоставляет данные о количестве продаж конкретных товаров. Удобен для понимания, какие товары стоит продвигать в поисковых системах для увеличения их продаж.
    Продажи товаров
    Название товара: Наименование товара. Модель: Модель или код товара. Количество: Количество проданных товаров. Итого: Общая сумма с продаж товара. ---

    content bot
    Отчёт об онлайн пользователях
    Раздел отчетов Покупатели онлайн используется для отслеживания активности покупателей, которые в данный момент находятся в сети и просматривают витрину магазина OpenCart.
    Примечание! Если вы не видите никаких людей в интернете, вам нужно перейти в Систему > Настройки > Редактирование > Опции, далее прокрутите вниз до "Учетной записи" и выберите "Да" напротив пункта "Покупатели онлайн".
    Чтобы получить доступ к разделу Покупатели онлайн, щелкните Отчеты > Покупатели онлайн:
    ../../../image/reports-customers-online-dashboard.jpg
    Как только вы перейдете в раздел, вы увидите справа фильтр, позволяющий ввести IP-адрес и имя клиента, которого вы хотите отслеживать.
    ../../../image/reports-customers-online-filter.jpg
    Таблица отчетов, отображающая результаты отчётов об пользователях онлайн, содержит следующее поля:
    IP: IP-адрес, с которого пользователь в данный момент просматривает витрину магазина. Покупатель: Имя покупателя Последняя просмотренная страница: Страница, которую пользователь последний раз посещал перед уходом с сайта. Откуда перешел: Страница, с которой пришел пользователь Последний клик: Время и дата последнего клика клиента. Действие: Кнопка, которая позволит вам получить доступ к учетной записи покупателя.

    content bot
    Раздел статистики
    В меню Отчеты > Статистика можно отслеживать общую стоимость всех продаж, заказов в обработке, завершённых и прочих заказов, возвратов, товаров которых нет в наличии и отзывов, ожидающих одобрение на сайте.
    Название: Наименование отслеживаемого параметра.
    Значение: Количество или сумма
    Действие: Обновление и актуализация данных

    content bot
    Разработка Модулей
    Написание модулей OpenCart может быть очень хорошим способом узнать, как на самом деле работают основы OpenCart. Как и в остальной части OpenCart, модули следуют шаблону проектирования MVCL. В этом руководстве по документации будет описано, как можно использовать каждый из компонентов MVC-L для создания административной и интерфейсной частей вашего модуля. Самый простой способ создать модуль - это загрузить скелет DIY Module Builder из HostJars. Этот модуль содержит структуру каталогов, файлы и инструкции по пониманию и построению собственных модулей. Эта страница является более теоретическим руководством.
    Основная структура каталогов
    Основная структура файлов для вашего модуля будет разделена на две части: папки admin и catalog. Содержимое каждой папки будет соответствовать структуре MVC-L соответственно, с той разницей, что администратор будет иметь дело исключительно с бэкенд-функциональностью, а каталог-с функционалом веб-интерфейса. Пользователи вашего модуля будут взаимодействовать и настраивать его параметры в административной части магазина. Поэтому файлы в папке admin будут обрабатывать любые изменения его настроек, способ отображения модуля в административной части, установку / удаление модуля и т.д. Аналогичным образом, способ отображения модуля и его работа в интерфейсе пользователя магазина будет обрабатываться файлами в папке catalog.
    {media="39"}
    На рисунке выше показана схема структуры каталогов, которой должен следовать ваш модуль. Хороший способ начать работу с вашим модулем - это продублировать структуру папок и создать указанные выше файлы. То, что будет идти в этих файлах определяется тем, что ваш модуль пытается выполнить, но основные функциональные возможности подробно описаны в разделах ниже.
    Функциональность модуля в админ части
    Когда владелец магазина будет использовать ваш модуль, он захочет отредактировать параметры конфигурации модуля в административной части, чтобы решить, на каких макетах отображать модуль, включен ли он или отключен, а также настроить любые конкретные параметры модуля. Как разработчику модуля, вам нужно будет создать страницу администратора, где модуль может быть отредактирован, а параметры конфигурации добавлены или скорректированы.
    Все файлы администратора находятся в папке admin/. Вы найдете ещё четыре папки в папке admin/:
    controller view language model Для всех модулей потребуется по крайней мере один файл в каждой из папок view и controller. Для большинства из них потребуется файл в каждой из папок model и language. Обычно файлы имеют одно и то же имя, за исключением того, что файлы view имеют другой суффикс (.tpl). Мы будем просматривать эти файлы один за другим.
    image/catalog/doc/ru/developer/mvc-l.jpg
    Controller - Контроллер
    Первый файл, который вы создадите, будет контроллером для страницы интерфейса администратора вашего модуля. OpenCart автоматически идентифицирует существующие модули, просто прочитав папку admin/controller/module вашего магазина. Все модули, существующие в этой папке, будут автоматически показаны на странице Модули и на закладке Разрешения на странице Пользователи. Вы можете назвать свой файл контроллера my_module.php.
    Файл контроллера - это место, где вы можете загрузить языковые файлы для преобразования текста в переменные, которые будут использоваться в файле шаблона. На диаграмме выше вы можете видеть, как переменная $_['text'] обрабатывается контроллером, а затем отправляется в виде $text в view. Здесь вы также будете использовать несколько файлов моделей и их функции класса , включая файл модели вашего модуля, если он есть. Дополнительные сведения о загрузке файлов см. в разделе Загрузка файлов в контроллер.
    У вас также может быть функция, определенная как public function install(). Эта функция будет активирована при нажатии на ссылку Установить на странице Расширения > Модули. Аналогично, функция, определенная как public function uninstall(), будет активирована при нажатии на ссылку удаления. Вы можете использовать эти функции для создания и удаления любых структур (например, таблиц базы данных или параметров конфигурации), необходимых вашему модулю. Рекомендуется создать функцию удаления, чтобы очистить все изменения, внесенные вашим модулем. Чтобы просмотреть конкретный код для установки (), удаления (), посетите раздел Установка/удаление модуля.
    Доступ по URL-адресу
    Контроллер является единственным файлом в структуре MVC-L, к которому можно получить доступ по URL в OpenCart. В администрировании URL-адрес будет выглядеть как /admin/index.php?route=module/my_module&token. Администратор добавляет маркер к URL-адресу, в то время как ссылка в каталоге не будет иметь его. В результате файл контроллера будет иметь функцию, определенную как public function index(). Это общедоступная "страница", которая загружается по URL-адресу, который будет отображаться при нажатии кнопки редактирования и куда будет отправлена форма просмотра. Представленные данные будут обработаны в этой функции и сохранены в таблице базы данных "settings" через объект конфигурации контроллера.
    View - Представление
    Второй необходимый файл для интерфейса администратора вашего модуля - это файл view. Он будет создан в папке admin/view/template/module и будет иметь суффикс .tpl или .twig . Это стандартно для файлов OpenCart view. В этом файле вы создадите форму для заполнения и отправки пользователем. Она будет передана в функцию index контроллера модуля. Самый простой способ создать файл представления - скопировать и вставить существующий аналогичный файл представления, а также отредактировать форму, чтобы она содержала правильные поля для параметров конфигурации вашего модуля. Вы можете назвать свой файл представления my_module.twig .
    В представлении вы сможете получить доступ к тексту с языка, на котором файл контроллера хранится как переменная PHP. Смотрите раздел Загрузка файлов в контроллер для получения кода о том, как это сделать.
    Model - Модель
    Обычно модулям требуется файл модели на стороне администратора. Однако если ваш модуль использует собственную таблицу базы данных или пользовательский запрос для создания данных определенного формата, то вы можете написать файл модели. Примером такой ситуации может быть написание модуля счетчика посетителей, где каждый посетитель хранится в таблице базы данных со своим IP-адресом и количеством посещений. Вы можете создать файл модели с функцией для определения и создания этой дополнительной таблицы в базе данных OpenCart. Файл модели будет находиться в папке admin/model/module. Вы можете назвать свой файл модели my_module.php, аналогично названию файлов вашего контроллера и языковых файлов.
    Функциональность внешнего интерфейса
    Внешний интерфейс вашего модуля следует той же схеме, что и только что описанный интерфейс администратора. То, что вы будете включать в каждый из ваших файлов внешнего интерфейса, во многом будет зависеть от того, что должен делать ваш модуль. Модуль может получить доступ к любым файлам моделей, которые уже существуют в OpenCart, вам не нужно писать свои собственные запросы к базе данных, если такой же запрос уже существует. Например, модель catalog/product содержит много полезных запросов для извлечения товаров. Не изобретайте колесо, отдавайте предпочтение уже имеющимся функциям модели.
    Ключевым отличием в интерфейсе вашего модуля является то, что ваш файл представления будет находиться в папке catalog/view/theme/(themename)/template/module. Это значительно более глубокая структура папок для файла представления администратора из-за тем. В магазине OpenCart может быть доступно множество различных тем интерфейса, но только один шаблон администратора. (themename)
    В интерфейсной части вашего модуля вы будете иметь доступ к параметрам конфигурации, сохраненным вашим модулем, как через объект config контроллера, так и через переменную $settings, переданную в функцию index контроллера модуля. Вы можете управлять аспектами отображения интерфейса на основе этих настроек.

    content bot
    Разработка новых каналов продвижения
    OpenCart включает в себя несколько полезных каналов продвижения товаров, но вы можете решить, что вам нужен собственный формат, и решите его создать. Написание каналов продвижения товаров OpenCart очень похоже на написание модулей OpenCart и может быть очень хорошим способом узнать, как на самом деле работают основы OpenCart. Как и остальная часть OpenCart, каналы следуют шаблону проектирования MVCL. В этом руководстве по документации будет описано, как вы можете использовать каждый из компонентов MVCL для создания административных и внешних частей вашего канала продвижения.
    Функциональность каналов в административной части
    Когда владелец магазина будет использовать ваш канал продвижения товаров, он захочет изменить параметры конфигурации канала продвижения в административной части, чтобы выбрать, включен ли он или нет, а также настроить любые конкретные параметры, которые вы сделаете доступными. Как разработчику модуля, вам нужно будет создать страницу администратора, где можно будет редактировать канал продвижения.
    Все файлы администратора находятся в папке admin /. Вы найдете четыре папки в папке admin /:
    controller view language model Для всех каналов продвижения потребуется по крайней мере один файл в каждой из папок view и controller. Для большинства из них потребуется файл в каждой из папок model и language. Обычно файлы имеют одно и то же имя, за исключением того, что файлы view имеют другой суффикс (.tpl). Мы будем просматривать эти файлы один за другим.
    Controller - Контроллер
    Первый файл, который вы создадите, будет контроллером для страницы интерфейса администратора вашего канала продвижения. OpenCart автоматически идентифицирует существующие каналы продвижения, просто прочитав папку admin/controller/feeds вашего магазина. Все каналы продвижения, существующие в этой папке, будут автоматически показаны на странице Каналы продвижения и на закладке Разрешения на странице Пользователи. Вы можете назвать свой файл контроллера my_feed.php.
    Файл контроллера будет иметь функцию, определенную как public function index(). Это общедоступная "страница", которая загружается по URL-адресу, который будет отображаться при нажатии кнопки редактирования и куда будет отправлена форма просмотра. Представленные данные будут обработаны в этой функции и сохранены в таблице базы данных "settings" через объект конфигурации контроллера.
    У вас также может быть функция, определенная как public function install(). Эта функция будет активирована при нажатии на ссылку Установить на странице Расширения > Каналы продвижения. Аналогично, функция, определенная как public function uninstall(), будет активирована при нажатии на ссылку удаления. Вы можете использовать эти функции для создания и удаления любых структур (например, таблиц базы данных или параметров конфигурации), необходимых вашему каналу продвижения. Рекомендуется создать функцию удаления, чтобы очистить все изменения, внесенные вашим модулем.
    View - Представление
    Второй необходимый файл для интерфейса администратора вашего канала продвижения - это файл view. Он будет создан в папке admin/view/template/feed и будет иметь суффикс .tpl или .twig . Это стандартно для файлов OpenCart view. В этом файле вы создадите форму для заполнения и отправки пользователем. Он будет передан в функцию index контроллера модуля. Самый простой способ создать файл представления - скопировать и вставить существующий аналогичный файл представления, а также отредактировать форму, чтобы она содержала правильные поля для параметров конфигурации вашего канала продвижения. Вы можете назвать свой файл представления my_feed.twig .
    Language - Язык
    Третий тип файлов, которые обычно необходимо создать для любого канала продвижения, - это языковые файлы. Вам понадобится один языковой файл для каждого языка, с которым ваш канал продвижения совместим. Языковой файл будет находиться в папке admin/language/<language name>/feed. Он просто содержит ассоциативный массив PHP с названием $_, который содержит внутреннее имя в качестве ключа и перевод в качестве значения. Вы можете назвать ваш языковой файл my_feed.php, так же, как файлы вашего контроллера и модели.
    Model - Модель
    Для фидов редко требуется файл модели на стороне администратора. Однако, если ваш канал продвижения использует собственную таблицу базы данных или пользовательский запрос для создания данных определенного формата, вы можете написать файл модели. Примером этого может быть, если вы пишете фид счетчика посетителей, где каждый посетитель хранится в таблице базы данных со своим IP-адресом и количеством посещений. Вы можете создать файл модели с функцией для определения и создания этой дополнительной таблицы в базе данных OpenCart. Файл модели будет находиться в папке admin/model/feed. Вы можете назвать файл модели my_feed.php, так же, как ваш контроллер и языковые файлы.
    Функциональность внешнего интерфейса канала продвижения
    Внешний интерфейс вашего канала продвижения следует той же схеме, что и только что описанный интерфейс администратора. То, что вы будете включать в каждый из ваших файлов внешнего интерфейса, во многом будет зависеть от того, что должен делать ваш канал продвижения. Фид может получить доступ к любым файлам моделей, которые уже существуют в OpenCart, вам не нужно писать свои собственные запросы к базе данных, если такой же запрос уже существует. Например, модель catalog/product содержит много полезных запросов для извлечения товаров. Не изобретайте колесо, отдавайте предпочтение уже имеющимся функциям модели.
    Ключевым отличием в интерфейсе вашего канала продвижения является то, что ваш файл представления будет находиться в папке catalog/view/theme/(themename)/template/feed. Это значительно более глубокая структура папок для файла представления администратора из-за тем. В магазине OpenCart может быть доступно множество различных тем интерфейса, но только один шаблон администратора. (themename)
    В интерфейсной части вашего канала продвижения вы будете иметь доступ к параметрам конфигурации, сохраненным вашим фидом, как через объект config контроллера, так и через переменную $settings, переданную в функцию index контроллера модуля. Вы можете управлять аспектами отображения интерфейса на основе этих настроек.

    content bot
    Загрузка файлов в контроллер
    В платформе OpenCart MVC-L контроллер вашего модуля является связующим звеном, соединяющим файлы языка, модели и шаблона друг с другом. Контроллер отвечает за захват текста, содержащегося в языковом файле, и обеспечение его доступности в качестве переменных PHP в файле шаблона представления. В дополнение к наследованию функций, доступных в родительском классе контроллера, Controller, вы также можете загрузить любые файлы моделей OpenCart по умолчанию и их функции в контроллер. В этой документации мы покажем PHP-код, необходимый для загрузки файлов языка, модели и их функций.
    Загрузка языкового файла в Контроллере
    Контроллер выводит текст, хранящийся в языковом файле, и превращает его в переменные, которые могут быть воспроизведены в файле шаблона для отображаемого текста. Это особенно полезно для управления переводами вашего модуля. Вместо того, чтобы менять свой .файл tpl каждый раз, когда у вас есть новый перевод для изменения различных фрагментов текста внутри файла, вам просто нужно изменить текст в вашем языковом файле, и переменные в контроллере и шаблоне останутся такими же, как раньше.
    Приведенный ниже фрагмент кода загрузит языковой файл внутри контроллера вашего модуля. Внутри круглых скобок вам нужно будет указать путь к языковому файлу из языковой папки.
    $this->load->language('module/my_module'); Важно помнить, что контроллер администратора будет загружать только файл языка администратора, но не языковой файл каталога; и точно так же контроллер каталога будет загружать только языковой файл каталога. После того, как языковой файл будет загружен в контроллер,вы можете сохранить его текст в переменной php с использованием массива $data. $this->language->get('text') захватит текст из переменной $_['text'] внутри языкового файла.
    $this->data['text'] = $this->language->get('text'); $this->language->get('text') захватит текст из переменной $_['text'] внутри языкового файла, который мы только что загрузили выше. Каждый элемент массива данных будет преобразован в свою собственную переменную. $data ['text'] станет $text для файла шаблона внутри представления. Переменная $text может jnj,hf;fnmcz в файле представления .tpl, где это необходимо:
    <p><?php echo $text; ?></p> Подгрузка заголовка тайтла
    Следующий код установит текст из языкового файла в качестве заголовка страницы:
    $this->document->setTitle($this->language->get('heading_title')); Это приведет к захвату текста переменной $_['heading_title'], хранящейся в языковом файле модуля.
    Если вам нужно, чтобы текст хранился как переменная сеанса php, используйте
    $this->session->data['text'] вместо $this->data['text']. Загрузка файлов моделей
    Загрузка файлов модели в файл контроллера позволит вашему модулю использовать встроенные функции OpenCart. Функции внутри файлов модели взаимодействуют с базой данных магазина и позволяют добавлять / извлекать важную информацию для вашего модуля. Мы рекомендуем вам воспользоваться этими функциями, а не создавать собственные запросы к БД. Потратьте некоторое время на изучение папок модели в файлах администратора и каталога, чтобы увидеть, какие файлы могут принести пользу вашему модулю. Например, если вашему модулю необходимо извлечь информацию о товаре из базы данных магазина, будет полезно загрузить admin/model/catalog/products.php файл, так как он уже имеет множество полезных, встроенных функций, которые взаимодействуют с товарами магазина в базе данных.
    Ваш модуль может загрузить любой файл модели в свой файл контроллера, используя следующий код, при условии, что они находятся в той же папке администратора или каталога, что и контроллер.
    $this->load->model('setting/setting'); Вам нужно будет указать путь к файлу, который вы хотите загрузить из папки администратора, в скобках. Приведенный выше код загрузит класс settings, чтобы у нас был доступ к функциям в классе ModelSettingSetting в файле контроллера нашей модели. Используйте следующий формат кода для вызова функции из загруженного файла модели:
    $this->model_setting_setting->editSetting('my_module', $this->request->post); Подчеркивания относятся к обозначениям файлов для model/setting/setting.php. Если у вас есть файл модели, включенный для вашего модуля, ваш код будет следовать формату, указанному выше, так как файл модели загружается в папку model.
    $this->load->model('module/my_module'); $this->model_module_my_module->myFunction(); Приведенный выше код загрузит my_module.php, хранящийся в папке admin/model/module/my_module.php.
    Вместо пробелов в именах файлов для вашего модуля используйте символы подчеркивания.
    Загрузка файлов шаблонов
    В контроллере вам нужно будет загрузить файл шаблона вашего модуля в представление. Для этого установите $this->template следующим образом:
    $this->template = 'module/my_module.tpl'; Загрузка файлов библиотеки
    Каталог OpenCart содержит коллекцию файлов библиотек, доступ к которым могут получить как администратор, так и файлы контроллера каталога. Эти файлы находятся в разделе system/library в корневой папке магазина OpenCart. В примерах кода, показанных при загрузке языкового файла, как $this->load->language, так и $this->document предоставляют доступ к функциям в файлах language.php и document.php в папке библиотеки. Если вы хотите получить доступ к функции в файле библиотеки, вам нужно вызвать ее с помощью $this->[insert library file name]->function() в классе контроллера.
    Дополнительная информация
    Дополнительные сведения о концепции поведения контроллера в рамках MVC framework или в контексте разработки модуля для OpenCart смотрите в разделе Разработка модулей .

    content bot
    Модификаторы - OCMOD
    OCMOD - Модификаторы в OpenCart - это разновидность расширений, позволяющих вносить изменения в функционал или внешний вид, не затрагивая оригинальные файлы. Тем самым обеспечивается неизменность оригинальных файлов самого OpenCart, при том, что появляется возможность заменять или расширять необходимый функционал.
    История появления модификаторов началась с vQmod в opencart версии 1.5х, и уже в версии opencart 2x он был усовершенствоваван и преобразован в OCMOD. В отличии от vQmod который устанавливался отдельно, OCMOD внедрён по умолчанию как стандартный функционал в CMS OpenCart2х и выше.
    Модификатор OCMOD может быть как самостоятельным модулем, изменяющим или расширяющим стандартный функционал, так и входить в состав полноценного модуля с дополнительными php, tpl или twig и прочими файлами.
    Структура архива OCMOD модификатора
    image/catalog/doc/ru/ocmod/ocmod.jpg
    Название архива модификатора - должно быть задано в соответствии с требованиямя OCMOD - "название_файла".ocmod.zip , где вместо "название_файла" вы пишите свое название без кавычек. Таким образом, название архива всегда должно заканчиваться ".ocmod.zip", иначе система проигнорирует модификатор.
    Начиная с версии OpenCart 3x предполагается, что модификатор будет использоваться в составе полного модуля в виде архива - в отличии от OpenCart2x, где файл модификатора в виде "название_файла".ocmod.xml можно было загружать через установщик расщирений прямо в папку system, расположенную в корне сайта. Соответственно, при использовании файла модификатора в составе полного модуля и при его загрузке через административную часть в разделе Расширения > Установка расширений название файла-модификатора в архиве должно быть install.xml.
    В OpenCart 3x  файл-модификатор также можно загрузить в папку system на постоянное размещение, используя FTP клиент, при условии, что название файла модификатора будет соответствовать требованиям OCMOD в виде "название_файла".ocmod.xml .
    Директории
    Кэш модификаторов - все изменённые модификатором файлы располагаются в папке system/storage/modification с такой же точно структурой папок, как и корень сайта, кроме папки image. Т.е. если вы сделали модификатор для файла /admin/controller/catalog/product.php то его измененная копия будет находится по пути system/storage/modification/admin/controller/catalog/product.php.
    Логи модификаторов -  распалагаются в папке system/storage/logs , в ней находятся 2 основных лог-файла:
    ocmod.log - ведет запись об оработке и последовательности выполнении инструкций модификаторов, error.log - содержит ошибки, произошедшие при преобразовании. Обновление кэша модификаторов
    Чтобы система увидела файлы-модификаторы и выполнила их инструкции, необходимо нажать кнопку "Обновить" в правом верхнем углу на странице Модификаторы.
    Возможны ситуации, когда кэш обновлён, но изменения на сайте не вступили в силу. Обычно это связано с тем, что на сайте используются дополнительные модули кэширования, ускорители загрузки и т.п., в которых также необходимо обновить кэш.
    Синтаксис модификатора OCMOD
    Файл модификатора OCMOD обязательно должен содержать общую описательную часть и инструкции по изменению файлов:
    <?xml version="1.0" encoding="utf-8"?> <modification> <name>Мod</name> <!-- Название модификатора --> <code>mod_dev</code> <!-- Уникальный код модификатора --> <version>1.0</version> <!-- Версия модификатора --> <author>Develop</author> <!-- Автор модификатора --> <link>https://opencart.club</link> <!-- Сайт разработчика --> <file path="catalog/controller/product/category.php"> <!-- Файл который будет модифицироваться --> <operation> <search> <!-- Поиск кода в файле --> <![CDATA[ $result['name'], ]]> </search> <add position="after"> <!-- Добавление модификации (после найденного куска кода) --> <![CDATA[ 'sku' => $result['sku'], ]]> </add> </operation> </file> </modification> Данный пример модификатора меняет файл category.php.
    Он находит кусок строчки кода "$result['name']," и сразу за ним добавляет "'sku'      => $result['sku'],".
    В одном xml файле может быть любое количество секций <file> и возможность менять любое количество файлов одним модификатором.
    Теги модификатора OCMOD и их функциональность
    Тег - File
    Указывает, в каком файле или файлах нужно внести изменения. Обязательный атрибут path содержит путь до изменяемого файла. Может указывать на один файл или на несколько. Для указания нескольких файлов, расположенных в разных папках, используется символ "|". Например, внести изменения в category.php, manufacturer.php, search.php и в special.php .
    <file path="catalog/controller/product/category.php|catalog/controller/extension/module/special.php"> Для сокращения кода можно использовать фигурные скобки, которые позволяют указать несколько значений через запятую: Например, внести изменения сразу в четыре файла category.php, manufacturer.php, search.php и в special.php. при этом суфикс .php можно вынести за фигурные скобки.
    .
    <file path="catalog/controller/product/{category,manufacturer,search,special}.php"> Так же можно использовать символы "*" и "?", чтобы указать путь по "маске". Бывает полезно для модификации файлов шаблонов.
    <file path="catalog/view/theme/*/template/product/category.twig"> Т.к. мы не знаем заранее, какие именно темы установлены в OpenCart, мы указали "*" после "theme", тогда будут модифицироваться все category.twig во всех шаблонах, находящихся в папке "theme".
    Тег - Operation
    Указывает начало секции производимой модификации. Внутри file секций <operation> может быть несколько. Т.е мы можем делать сразу несколько изменений в одном файле. Тег operation может иметь необязательный атрибут error, который может принимать значения:
    skip - в случае ошибки пропустить текущую секцию <operation> и перейти к следующей <operation> log (по умолчанию) - в случае ошибки пропустить всю секцию <file> и перейти к следующему <file> abort - в случае ошибки прервать все модификации в xml файле Например, найти в файле category.twig код "<div class="caption">"  и если его нет, тогда пропустить и перейти к следующей операции и найти "<p class="price"> ".
    <file path="catalog/view/theme/*/template/product/category.twig"> <operation error="skip"> <search><![CDATA[<div class="caption">]]></search> <add position="after"><![CDATA[ <span class="sku">{{ product.sku}}</span> ]]></add> </operation> <operation error="skip"> <search><![CDATA[<p class="price">]]></search> <add position="before"><![CDATA[ <span class="sku">{{ product.sku}}</span> ]]></add> </operation> </file> Если не указать атрибут error="skip", тогда на первом поиске текста "<div class="caption">" вся секция <file> будет прервана и проигнорирована.
    Тег - Search
    Указывает, какой текст необходимо найти в текущей операции. Содержит несколько правил использования тега:
    Тег search может быть использован только 1 раз внутри секции operation. Поиск можно делать только 1 строки целиком или части строки (нельзя искать несколько строк одновременно). Искомый текст необходимо размещать строго между <![CDATA[ и ]]>. Пробелы и переносы строки до искомого текста и после искомого текста игнорируются, текст можно написать или сразу после CDATA или с новой строки после CDATA, если только не указан атрибут trim="false". Изменения применятся ко всем найденным в файле строчкам кода или их частям, если не указан атрибут index . Специальные теги <![CDATA[ и ]]> - используются в xml файлах для указания любых символьных данных, что означает, что между ними может находиться любой текст, содержащий скобки, значки больше, меньше и прочие, в том числе html и php код.
    Тег search содержит следующие атрибуты, которые используются для наиболее точного определения места внесения изменения:
    index - указывает, в каком по порядку найденном тексте внести изменения. Т.е. если в файле искомый текст встречается несколько раз, тогда index позволяет указать номер найденного по порядку текста (0 всегда первый найденный текст, 1 - второй и т.д.) Можно также указать несколько номеров через запятую. trim - указывает игнорировать (true) или нет (false) пробелы и переносы строк до и после искомого текста. regex - если установлено значении true, значит искомый текст представляет собой регулярное выражение для поиска. Пример: поиск атрибутом index среди схожих строчек кода.
    <file path="admin/controller/common/column_left.php"> <operation> <search index="0" trim="true"><![CDATA[ $data['menus'][] = array( ]]></search> <add position="before"><![CDATA[ $data['menus'][] = array( 'id' => 'new_menu', 'icon' => 'fa-menu', 'name' => 'New Menu', 'href' => 'new-menu/' ); ]]></add> </operation> </file> В примере по index найдена первая строчка кода "$data['menus'][] = array(" и перед ней добавляем свой код.
    Тег - Add
    Тег add содержит текст, который будет заменён или добавлен до или после искомого текста.
    Так же, как и тег search, тег add должен содержать <![CDATA[ и ]]>, между которыми вставляется текст кода, который будет добавлен или на который будет заменён искомый текст.
    Тег add имеет свои атрибуты:
    position - может принимать значения: replace (по умолчанию) - замена найденного текста before - добавить текст перед найденным текстом after - добавить текст после найденного текста offset - означает смещение относительно найденного текста на указанное количество строк. Если position="before", тогда смещение будет вверх от найденного текста, если position="after" или position="replace", тогда смещение будет вниз от найденного текста. trim - указывает игнорировать (true) или нет (false) пробелы и переносы строк до и после искомого текста. Пример: Добавим ссылку "Link" в футер на фронтальной части.
    <file path="catalog/view/theme/default/template/common/footer.twig"> <operation> <search index="1" trim="true"><![CDATA[ <ul class="list-unstyled"> ]]></search> <add position="after" offset="1" trim="true"><![CDATA[ <li><a href="#">Link</a></li> ]]></add> </operation> </file> Атрибут index="1" находит 2-й по порядку код <ul class="list-unstyled">, затем используя атрибут offset="1" на одну строку ниже найденного текста добавляет код <li><a href="#">Link</a></li>.
    Модификатор OCMOD позволяет в OpenCart расширить возможности, не затрагивая оригинальные файлы, а для возврата в исходное состояние вам просто будет достаточно удалить его.

    content bot
    Как обновить OpenCart на новую версию
    OpenCart периодически обновляется с выпуском новых версий. Рекомендуется обновлять свой магазин с каждой новой выпущенной версией, чтобы воспользоваться исправлениями ошибок и новыми функциями. Может показаться хлопотным обновлять магазин каждый раз, когда выходит новая версия, но это стоит усилий в долгосрочной перспективе. Есть способы избежать проблем, связанных с обновлением, такие как использование качественных тем и модулей, которые не изменяют ядро OpenCart, или использование ocMod.
    В этом руководстве будет объяснено, как обновить версию v2.x. x вплоть до последней версии OpenCart 3. Версии более ранние, чем 1.5.4, не будут включены, поскольку они более не поддерживаются.
    Обратите внимание! Все нижеперечисленные действия по обновлению вашей версии OpenCart вы делаете на свой страх и риск. Описание обновления касается только тех магазинов, у которых весь функционал идет по умолчанию. Если у вас внедрены дополнительные функции то наверняка вы столкнетесь с кучей ошибок и несоответствий вплоть до потери данных, имейте это в виду!
    *Если вы не уверены в правильном обновлении вашего магазина то лучше обратиться за квалифицированной помощью к специалистам в раздел услуг. Проверка требований к новой версии
    Чтобы проверить, может ли магазин с более старой версией обновиться до самой новой версии, ваш веб-сервер должен соответствовать основным техническим требованиям. Ознакомиться с последними техническими требованиями к последней версии OpenCart, 3.0.x, см. Системные требования.
    РЕЗЕРВНОЕ КОПИРОВАНИЕ СУЩЕСТВУЮЩИХ ФАЙЛОВ МАГАЗИНА И БАЗЫ ДАННЫХ!! Создайте резервную копию базы данных в админ части магазина  > Система > Бекап и Восстановление, нажмите кнопку загрузить базу данных. Сделайте резервное копирование файлов с помощью FTP file copy или используйте cPanel filemanager для создания zip-архива всех существующих файлов и папок opencart. Обновление от 2.x.x до 3.0.x
    Загрузите последнюю версию OpenCart и загрузите все новые файлы поверх текущей установки, кроме вашей конфигурации.php и admin / config.РНР.
    - #1 резервное копирование и удаление всех 2.x.x файлов просмотра. Потому что OpenCart 3 начинает использовать TWIG для замены формата TPL.
    - #2 Перед обновлением последней версии, вы должны дважды проверить существующие расширения (в вашем магазине) на совместимость с последней версией. Пожалуйста, свяжитесь с разработчиком для уточнения этого вопроса перед обновлением.
    - #3 не только расширения, но и все темы в OpenCart 2 нельзя использовать в OpenCart 3. Вы должны установить свою тему магазина на тему по умолчанию и отключить все расширения. Перейдите в раздел http://ваш-домен.ru/install Замените yourstore.com вашим фактическим сайтом (или подкаталогом, если это применимо). Вы должны увидеть сценарий обновления OpenCart.
    - Если вы видите страницу установки OpenCart, то это означает, что вы переписали сви файлы config.php. Сначала восстановите их из резервной копии. И после попробуйте еще раз. Нажмите кнопку Обновить, через несколько секунд вы увидите страницу успешного обновления
    - Если вы видите какие-либо ошибки, немедленно сообщите о них на форуме, прежде чем продолжить. Очистите все файлы cookie в вашем браузере Перейдите в административную часть вашего магазина и нажмите Ctrl+F5 или Ctrl+Shift+R несколько раз, чтобы обновить кэш браузера. Это предотвратит странное смещение элементов из-за изменений таблиц стилей. Войдите в систему вашего магазина в качестве главного администратора. Перейдите в меню Администрирование > Пользователи > Группы пользователей и отредактируйте группу Администратора. Отметьте все флажки.
    - Это гарантирует, что у вас будут разрешения для всех новых файлов. Перейдите в раздел Администрирование > Расширения > Расширения > Шаблоны и снова сохраните тему по умолчанию. Перейдите в раздел Администрирование > Система > Настройки
    - Обновите все пустые поля и нажмите кнопку "Сохранить".
    Даже если вы не видите никаких новых полей, нажмите кнопку "Сохранить" в любом случае, чтобы обновить базу данных с любыми новыми именами полей. Другие настройки, которые могут быть необходимы, в зависимости от того, с какой версии вы обновляетесь. Они разбиты по тому, в какой версии они были добавлены. Поэтому, если вы в данный момент не используете эту версию, вам может потребоваться внесение изменений. Загрузите витрину магазина и снова нажмите CTRL+F5 3 раза, чтобы обновить кэш браузера. Это предотвратит странное смещение элементов из-за таблицы стилей. (Если вы пропустили шаг 8, вы получите сообщение об ошибке.) Обновление 1.4.x до 1.5.x
    Если вы хотите перенести свой магазин на последнюю версию и в настоящее время используете 1.4.x версию, вам нужно скачать скрипт с форума OpenCart.
    Обновление от 1.5.x до последней версии
    Обновление с 1.5.x версия до самой новой версии - это более простой процесс, чем обновление с версии 1.4.x. Чтобы получить доступ к последней версии OpenCart, посетите страницу загрузки: OpenCart, дополнительные инструменты
    image/latest_version.png
    Последняя версия всегда будет находиться в верхней части списка загрузок. Нажмите кнопку "Загрузить", чтобы сохранить zip-файл. Распакуйте zip-файл в место, которое можно легко найти позже.
    Следующим шагом в обновлении является загрузка файлов из последней версии в каталог файлов магазина через FTP-клиент. Передача этих файлов приведет к перезаписи существующих файлов, поэтому рекомендуется сохранить существующие файлы из корневого каталога магазина на компьютере администратора в виде zip-файла. Кроме того, если вы еще не сделали этого, вам следует посетить раздел резервное копирование/восстановление, чтобы сохранить Резервный sql-файл, содержащий информацию о базе данных хранилища. Бекап и Восстановление в OpenCart .
    При резервном копировании файлов магазина новейшая версия может быть загружена с помощью FTP-клиента. См. раздел Установка, чтобы узнать, как подключиться к каталогу магазина с помощью Filezilla. На стороне локального сайта найдите папку Загрузки версии OpenCart и откройте ее для просмотра содержимого. Есть два файла, которые необходимо исключить из загрузки в корневой каталог магазина: "upload/config.php", а затем "upload/admin/config.php"
    image/delete-admin-config.pngimage/delete-config.png
    Самый простой способ загрузить файлы последней версии, без этих двух config.php файлов, это удалить их со стороны локального сайта перед загрузкой. Таким образом, вы можете выбрать все, что находится в папке Загрузки, не беспокоясь о том, что config.php файлы могут быть загружены случайно. На скриншоте ниже, магазин находится в "public_html/update", поэтому все файлы из "upload" выбираются и перетаскиваются на полосу прокрутки. Каждый файл в "upload" автоматически загружается таким образом по правильному пути. Эти файлы должны перезаписывать существующие файлы, поэтому выберите "перезаписать" по запросу FTP-клиента.
    image/ftp-update-155.png
    После загрузки файлов новой версии на FTP-клиент, администратор должен перейти на страницу установки. Страница установки находится в месте расположения магазина, за которым следует "/install", например: http://ваш-домен.ru/install. На следующем снимке экрана отображаются инструкции по обновлению после завершения обновления при просмотре страницы установки.
    image/upgrade-install.png
    После того, как в OpenCart обновление завершено, на следующей странице будет информация об успешном обновлении. Теперь каталог установки можно удалить.
    image/upgrade%20complete.png
    Хотя обновление уже завершено, есть еще несколько пунктов, которые нужно сделать, чтобы привести в порядок административную часть вашего магазина:
    Удалите файлы cookie из вашего браузера. Нажмите CTRL+F5 три раза как на стороне администратора, так и на передней панели магазина. Посетите настройки магазина и заполните любую недостающую информацию. См. раздел Настройки, чтобы узнать, как изменить настройки магазина. Посетите группы пользователей и предоставьте высшему администратору все права, необходимые для запуска администрирования. Дополнительные сведения об изменении групп пользователей см. в разделе Пользователи. После того, как административная часть будет в порядке, вы можете возобновить рутинную работу по управлению вашим магазином; за исключением того, что теперь вы оснащены всеми улучшенными инструментами и функциями, добавленными в ваш магазин вместе с обновлением.
    Обратите внимание! Все вышеперечисленные действия по обновлению вашей версии OpenCart вы делаете на свой страх и риск. Описание обновления касается только тех магазинов, у которых весь функционал идет по умолчанию. Если у вас внедрены дополнительные функции, то наверняка вы столкнетесь с кучей ошибок и несоответствий вплоть до потери данных, имейте это ввиду!
    *Если вы не уверены в правильном обновлении вашего магазина то лучше обратиться за квалифицированной помощью к специалистам в раздел услуг.

×
×
  • Create New...