Разработка модулей и дополнений для OpenCart. Opencart разработка


как создать расширение, используя MVC

private $error = array(); //  используется для установки ошибки, если таковая возникла.

public function index() {   // функция по умолчанию

    $this->language->load('module/helloworld'); // Загрузка файла языка helloworld

    $this->document->setTitle($this->language->get('heading_title')); // Устанавливаем заголовок страницы  в шапке файла языка, то есть Hello World

    $this->load->model('setting/setting'); // Загружаем Setting Model (все модели и общие настройки в OpenCart сохраняются с помощью этой модели)

    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { //    Начало If : валидация и проверка данных если они переданы с помощью безопасного метода (POST)

       $this->model_setting_setting->editSetting('helloworld', $this->request->post);      //Анализ и передача входящих данных в Setting Model для сохранения в  базе данных.

        $this->session->data['success'] = $this->language->get('text_success'); // Для вывода текста о том что данные успешно сохранены

        $this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); // редирект в Module Listing

    } // окончание If

    /*Назначаем данные языка для анализа и передачи их в представление*/

    $this->data['heading_title'] = $this->language->get('heading_title');

    $this->data['text_enabled'] = $this->language->get('text_enabled');

    $this->data['text_disabled'] = $this->language->get('text_disabled');

    $this->data['text_content_top'] = $this->language->get('text_content_top');

    $this->data['text_content_bottom'] = $this->language->get('text_content_bottom');      

    $this->data['text_column_left'] = $this->language->get('text_column_left');

    $this->data['text_column_right'] = $this->language->get('text_column_right');

    $this->data['entry_code'] = $this->language->get('entry_code');

    $this->data['entry_layout'] = $this->language->get('entry_layout');

    $this->data['entry_position'] = $this->language->get('entry_position');

    $this->data['entry_status'] = $this->language->get('entry_status');

    $this->data['entry_sort_order'] = $this->language->get('entry_sort_order');

    $this->data['button_save'] = $this->language->get('button_save');

    $this->data['button_cancel'] = $this->language->get('button_cancel');

    $this->data['button_add_module'] = $this->language->get('button_add_module');

    $this->data['button_remove'] = $this->language->get('button_remove');

    

    /*Этот блок возвращает предупреждение*/

    if (isset($this->error['warning'])) {

        $this->data['error_warning'] = $this->error['warning'];

    } else {

        $this->data['error_warning'] = '';

    }

    /*Конец блока*/

    /*Этот блок возвращает код ошибки, если таковая возникла*/

    if (isset($this->error['code'])) {

        $this->data['error_code'] = $this->error['code'];

    } else {

        $this->data['error_code'] = '';

    }

    /*Конец блока*/

    /* Создание хлебных крошек для вывода их на сайте*/

    $this->data['breadcrumbs'] = array();

    $this->data['breadcrumbs'][] = array(

        'text'      => $this->language->get('text_home'),

        'href'      => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),

        'separator' => false

    );

    $this->data['breadcrumbs'][] = array(

        'text'      => $this->language->get('text_module'),

        'href'      => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'),

        'separator' => ' :: '

    );

    $this->data['breadcrumbs'][] = array(

        'text'      => $this->language->get('heading_title'),

        'href'      => $this->url->link('module/helloworld', 'token=' . $this->session->data['token'], 'SSL'),

        'separator' => ' :: '

    );

    /* Конец блока хлебных крошек*/

    $this->data['action'] = $this->url->link('module/helloworld', 'token=' . $this->session->data['token'], 'SSL'); // URL to be directed when the save button is pressed

    $this->data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'); // URL to be redirected when cancel button is pressed

    

    /* Этот блок проверяет, задано ли текстовое поле hello world, если да, анализирует его и передает в представление, в противном случае получает значение текстового поля hello world по умолчанию из базы данных и анализирует и передает его*/

    if (isset($this->request->post['helloworld_text_field'])) {

        $this->data['helloworld_text_field'] = $this->request->post['helloworld_text_field'];

    } else {

        $this->data['helloworld_text_field'] = $this->config->get('helloworld_text_field');

    }  

    /*конец блока*/

    $this->data['modules'] = array();

    /*Этот блок анализирует и передает в представление такие настройки модуля как Макет,Позиция,Порядок*/

    if (isset($this->request->post['helloworld_module'])) {

        $this->data['modules'] = $this->request->post['helloworld_module'];

    } elseif ($this->config->get('helloworld_module')) {

        $this->data['modules'] = $this->config->get('helloworld_module');

    }

    /* конец блока*/        

    $this->load->model('design/layout'); // Загружаем модель макета дизайна

    $this->data['layouts'] = $this->model_design_layout->getLayouts(); // Получение макета доступного в системе

    $this->template = 'module/helloworld.tpl'; //Загрузка шаблона helloworld.tpl

    $this->children = array(

        'common/header',

        'common/footer'

    );  // Добавление дочерних элементов для нашего шаблона по умолчанию, т.е. helloworld.tpl

    $this->response->setOutput($this->render()); // Отображение

}

webformyself.com

Создание шаблонов для OpenCart (теория)

По сравнении с другими системами управления сайта такими как Joomla или WordPress, у OpenCart мало бесплатных шаблонов не говоря уже о нормальных грамотно сверстанных.

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

Оговорюсь заранее создавать щаблоны для OpenCart не так уж и трудно, нужно освоить принцип шаблона и все вуаля.

Прежде чем создать щаблон нужно определиться с дизайном т.е найти необходимый дизайн в формате PSD. Можно конечно и простой JPG файл если вы хорошо разбираетесь с фотошопом (PhotoShop), для опытных мастеров достаточно лишь и JPG файл хоть и низкого качества.

Сама система управления OpenCart создана по системе MVC (model, view, controller), подробнее можете прочесть в интернете. Я даже рекомендую хотя бы пару статей прочесть про MVC на хабре, лищним это не будет.

Для начала посмотрим на содержание дефолтового (default) шаблона: 

Создание шаблонов для OpenCart (теория)

Проводник

 

Все папки которые вы видите в директории это обязательные для всех шаблонов. Это как бы стандарт всех шаблонов, если вы собираетесь зарабатывать на создании шаблонов то следовать стандарту это очень важно.

Практически в каждом шаблоне всех популярных cms систем существуют такие папки как css js image могут называться по разному к примеру вместо css могут быть style это вполне обычно. Но суть такова что должна быть папка для картинок для javascript-модулей и папка для стилей.

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

Обучение этим двум основам сайтостроения не займет у вас много времени максиму 2 — 3 недели, это если вы только что вышли из роддома и сели зак компьютер.

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

К примеру вы можете посмотреть на первый мой шаблон который я создал на базе дефолтового шаблона temp-market.ru. С виду не скажешь что это дефолтовый шаблон, но это так. Создание шаблонов для OpenCart (теория)

Создание шаблонов для OpenCart (теория)

На этом я думаю с теорией все, если честно сам устал когда писал. Если у вас будут вопросы вы всегда можете написать мне на почту отвечу на все вопросы на которых смогу ответить.

habibomarov.ru

Разработка модулей и дополнений для OpenCart

Предложение сотрудничества

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

У Вас есть идея? Мы будем рады сотрудничать!

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

Мы рады предложить Вам 2 варианта сотрудничества по разработке и созданию новых модулей OpenCart, а также различных полезных дополнений к ним:

1) Exclusive – вариант, когда заказчик оплачивает 100% стоимости нового модуля для системы OpenCart и получает исключительные авторские права на использование решения.

2) Сollective – вариант, когда заказчик оплачивает часть от реальной стоимости разработки решения (модуля или дополнения) для системы OpenCart, далее он сможет использовать приобретенное решение в своих целях. Но все авторские права будут принадлежать исключительно разработчику модуля, а это означает, что только он вправе осуществлять операции, связанные с продажей и распространением решения.  Этот вариант позволяет открыть новые перспективы для вашего проекта за гораздо меньшие деньги.

Какие условия сотрудничества наиболее удобны - решаете сами!

Мы также предлагаем альтернативный метод взаимодействия на безвозмездной основе -  Free. Что это означает? Если у Вас есть прекрасная идея или полезное предложение, то поделитесь с нами своими мыслями! Если это действительно интересно, то Вы первым получите решение, помощь в настройке и техническую поддержку.

Давайте вместе делать интернет-магазины удобнее!

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

opencart.ws

OpenCart: история разработки и развития

CMS OpenCart – бесплатный и хорошо зарекомендовавший себя продукт для создания интернет-магазина. Популярность данного программного комплекса объясняется несколькими факторами.

Движок OpenCart был разработан специалистом английского происхождения из Гонконга Даниэлем Керром с использованием языка программирования PHP и баз данных MySQL в 2012 году.

В 2013 году компания OpenCart признана ведущей в области программных решений для интернет-коммерции Китая.

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

В основе построения интерфейса положен принцип использования различных шаблонов (MVC), позволяющий дорабатывать программный комплекс. Сейчас по всему миру, в том числе и в России, работает несколько тысяч разработчиков, выпускающих и коммерческие и бесплатные дополнения, расширяющие функции системы управления.

Есть множество адаптированных русскоязычных сборок CMS OpenCart. Самая популярная из них OcStore. Она полностью совместима с исходной системой управления, но в ней произведен ряд дополнений:

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

Для повышения места интернет-магазина в выдаче поисковых систем разработано множество модулей. Один из самых популярных это SEO CMS PRO.

В настоящее время практически все проблемы оптимизации решает версия 2.0.3.1, разработанная всего несколько месяцев назад. Она учитывает все, что может понадобиться для организации и успешного функционирования интернет-магазина.

Изменения от версии 1.5 к 2.0:

Преимущества OpenCart относительно других систем управления:

OpenCart бесплатный, простой и надежный инструмент для создания и продвижения интернет-магазинов.

krasnoseo.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта