From bb5d6c16224fb068a3a567154e15453e38bba834 Mon Sep 17 00:00:00 2001 From: ikenfin Date: Mon, 27 May 2019 22:31:44 +0400 Subject: [PATCH] added opencart3 compatibility --- pack.sh | 10 +- .../extension/module/foc_carousel.php | 32 +- .../extension/module/foc_carousel.twig | 356 ++++++++++++++++++ .../extension/module/foc_carousel.php | 18 +- .../extension/module/foc_carousel.twig | 23 ++ 5 files changed, 425 insertions(+), 14 deletions(-) create mode 100644 upload/admin/view/template/extension/module/foc_carousel.twig create mode 100644 upload/catalog/view/theme/default/template/extension/module/foc_carousel.twig diff --git a/pack.sh b/pack.sh index 6f429e4..da067f1 100644 --- a/pack.sh +++ b/pack.sh @@ -1,6 +1,12 @@ #!/bin/bash -out=foc_carousel.ocmod.zip +out=foc_carousel_oc3.ocmod.zip +out2=foc_carousel_oc2.ocmod.zip if [[ -f "$out" ]]; then rm $out fi -zip -r9 --exclude=*.git* --exclude=*.DS_Store* $out ./upload ./install.xml +if [[ -f "$out2" ]]; then + rm $out2 +fi + +zip -r9 --exclude=*.git* --exclude=*.DS_Store* --exclude=*.tpl $out ./upload ./install.xml +zip -r9 --exclude=*.git* --exclude=*.DS_Store* --exclude=*.twig $out2 ./upload ./install.xml diff --git a/upload/admin/controller/extension/module/foc_carousel.php b/upload/admin/controller/extension/module/foc_carousel.php index df8fad8..ce3e0cd 100644 --- a/upload/admin/controller/extension/module/foc_carousel.php +++ b/upload/admin/controller/extension/module/foc_carousel.php @@ -32,7 +32,16 @@ private function createUrl ($url) { public function index () { $this->load->language('extension/module/foc_carousel'); $this->load->model('localisation/language'); - $this->load->model('extension/module'); + + if ($this->isOpencart3()) { + $this->load->model('setting/module'); + $moduleModel = $this->model_setting_module; + } + else { + $this->load->model('extension/module'); + $moduleModel = $this->model_extension_module; + } + $this->load->model('tool/image'); $this->document->addStyle('view/javascript/jquery/jquery-ui/jquery-ui.min.css'); @@ -51,24 +60,29 @@ public function index () { $post['foc_carousel'] = $carousel; if (!isset($this->request->get['module_id'])) { - $this->model_extension_module->addModule('foc_carousel', $post); + $moduleModel->addModule('foc_carousel', $post); } else { - $this->model_extension_module->editModule($this->request->get['module_id'], $post); + $moduleModel->editModule($this->request->get['module_id'], $post); } $this->session->data['success'] = $this->language->get('text_success'); - $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true)); + if ($this->isOpencart3()) { + $this->response->redirect($this->url->link('marketplace/extension', $this->getTokenParam() . '&type=module', true)); + } + else { + $this->response->redirect($this->url->link('extension/extension', $this->getTokenParam() . '&type=module', true)); + } } if (!isset($this->request->get['module_id'])) { - $data['action'] = $this->url->link('extension/module/carousel', 'token=' . $this->session->data['token'], true); + $data['action'] = $this->url->link('extension/module/foc_carousel', $this->getTokenParam(), true); } else { - $data['action'] = $this->url->link('extension/module/carousel', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true); + $data['action'] = $this->url->link('extension/module/foc_carousel', $this->getTokenParam() . '&module_id=' . $this->request->get['module_id'], true); } if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { - $module_info = $this->model_extension_module->getModule($this->request->get['module_id']); + $module_info = $moduleModel->getModule($this->request->get['module_id']); } if (isset($this->request->post['name'])) { @@ -147,8 +161,6 @@ public function index () { } } - - $data['heading_title'] = $this->language->get('heading_title'); $data['breadcrumbs'] = $this->breadcrumbs(); $data['header'] = $this->load->controller('common/header'); @@ -198,7 +210,7 @@ private function breadcrumbs () { ); $breadcrumbs[] = array( 'text' => $this->language->get('text_extension'), - 'href' => $this->createUrl('extension/extension'), + 'href' => $this->isOpencart3() ? $this->createUrl('marketplace/extension') : $this->createUrl('extension/extension'), 'separator' => ' :: ' ); $breadcrumbs[] = array( diff --git a/upload/admin/view/template/extension/module/foc_carousel.twig b/upload/admin/view/template/extension/module/foc_carousel.twig new file mode 100644 index 0000000..9475b63 --- /dev/null +++ b/upload/admin/view/template/extension/module/foc_carousel.twig @@ -0,0 +1,356 @@ +{{ header }} +{{ column_left }} + +
+ + +
+
+
+

{{ heading_title }}

+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + +
+ {% for language in languages %} +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + +
+ {% if (slides[language['language_id']] and slides[language['language_id']]|length > 0) %} + {% for i, slide in slides[language['language_id']] %} +
+
+ +
+ + + +
+ +
+ +
+ +
+ +
+ {% if slide['type'] %} + {% if slide['type'] == 'html' %} + + + {% elseif slide['type'] == 'image' %} + +
+ + + + + +
+ {% elseif slide['type'] == 'youtube' %} + + + +
+ + +
+ {% endif %} + {% endif %} +
+
+ {% endfor %} + {% endif %} +
+
+ {% endfor %} +
+

{{ labels['foc_add2cart_box_info_tab_title'] }}

+
+
+ {{ labels['foc_add2cart_box_info_tab_content'] }} +
+
+
+
+
+
+
+
+ + + + + + + + +{{ footer }} \ No newline at end of file diff --git a/upload/catalog/controller/extension/module/foc_carousel.php b/upload/catalog/controller/extension/module/foc_carousel.php index 774138d..ce4a1a6 100644 --- a/upload/catalog/controller/extension/module/foc_carousel.php +++ b/upload/catalog/controller/extension/module/foc_carousel.php @@ -2,6 +2,11 @@ class ControllerExtensionModuleFocCarousel extends Controller { + protected function isOpencart3 () { + $version_chars = explode('.', VERSION); + return (int)$version_chars[0] === 3; + } + public function index ($module_info) { static $module = 0; @@ -60,8 +65,17 @@ public function index ($module_info) { $theme = $this->config->get('config_theme'); } - $theme_tpl = DIR_TEMPLATE . $theme . '/template/' . $route . '_' . $module_info['template_postfix'] . '.tpl'; - $default_tpl = DIR_TEMPLATE . 'default/template/' . $route . '_' . $module_info['template_postfix'] . '.tpl'; + $theme_tpl = DIR_TEMPLATE . $theme . '/template/' . $route . '_' . $module_info['template_postfix']; + $default_tpl = DIR_TEMPLATE . 'default/template/' . $route . '_' . $module_info['template_postfix']; + + if ($this->isOpencart3()) { + $theme_tpl .= '.twig'; + $default_tpl .= '.twig'; + } + else { + $theme_tpl .= '.tpl'; + $default_tpl .= '.tpl'; + } if ($module_info['template_postfix']) { if (($theme && is_file($theme_tpl)) || is_file($default_tpl)) { diff --git a/upload/catalog/view/theme/default/template/extension/module/foc_carousel.twig b/upload/catalog/view/theme/default/template/extension/module/foc_carousel.twig new file mode 100644 index 0000000..d3a8410 --- /dev/null +++ b/upload/catalog/view/theme/default/template/extension/module/foc_carousel.twig @@ -0,0 +1,23 @@ + + + \ No newline at end of file