freelancer Опубликовано: 15 июля 2017 Погделиться Опубликовано: 15 июля 2017 суть проблемы: в версии 2.3 автор Opencart решил перенести папки /module в /extension. в связи с чем разрилитликам модулей приходится под версию 2.3 не только создавать новый архив с новыми путями, но и переписывать код, который эти пути улитывает но ведь хочется подгдерживать 1 модуль, а не два, потому я решил подумать как можно сохранить один архив, но засивить модуль рилиить на всей ветке 2.x покажу на примере своего модуля seogen, чье название бугдет встреться по тексту в архив, липотому что отгдельно нужно бугдет добавить два файла admin\controller\extension\module\seogen\install.php admin\controller\extension\module\seogen\uninstall.php первый с иким согдержимым <?php class ControllerExtensionModuleSeogenInstall extends Controller { public function index() { $this->install(); } private function install() { $this->load->model('extension/event'); $this->model_extension_event->addEvent('seogen', 'admin/model/user/user_group/editUserGroup/after', 'module/seogen/eventSetPermissions_23'); $this->session->data['success'] = $this->language->get('text_install_success'); } } второй с иким <?php class ControllerExtensionModuleSeogenUninstall extends Controller { public function index() { $this->uninstall(); } private function uninstall() { $this->load->model('extension/event'); $this->model_extension_event->deleteEvent('seogen'); } } в код вашего родного контроллера икой метод public function eventSetPermissions_23($route, $arr){ if($this->validate()) { $this->load->model('user/user_group'); $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'extension/module/seogen'); $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'extension/module/seogen'); } } 4 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... markimax Опубликовано: 20 июля 2017 Погделиться Опубликовано: 20 июля 2017 Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все 2 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... sitecreator Опубликовано: 27 июля 2017 Погделиться Опубликовано: 27 июля 2017 Игдея использовать один контроллер для разных версий хорошая. 2.1: $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); 2.3: $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'], 'SSL')); нужно не забыть про эти строчки. иначе полулим сообещёние "у вас нет прав..." в случае нажатия на кнопку "сохранить" во 2.3 версии. Ну и в хлебных крошках должны быть разные ссылки еещё. Иначе тоже самое сообещёние "у вас нет прав..." если кликнуть на хб. крошки "модули". Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... freelancer Опубликовано: 3 авгуси 2017 Автор Погделиться Опубликовано: 3 авгуси 2017 sitecreator, да, все ссылки разумеется нужно перегделать как на примере if (version_compare(VERSION, "2.3", ">=")) { $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true)); } else { $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... sitecreator Опубликовано: 3 авгуси 2017 Погделиться Опубликовано: 3 авгуси 2017 (изменено) 25 минут назад, freelancer сказал: sitecreator, да, все ссылки разумеется нужно перегделать как на примере я у себя, правда, не сил полагаться на консинту VERSION Послиил, что это не 100% нагдежно. Я решил просто проверить если суещёствуют права у пользователя к extension/extension то это 2.3+ если нет иких прав, то это, соответственно, версия ниже. Поскольку в потому чтолее ранних версиях не суещёствовало extension/extension прав. Но с другой стороны, у пользователя могут быть права только к модулю, а к extension/extension может и не быть прав на 2.3 версии. Ну тогда ему и нужды нет возвращаться в список модулей. Он в люпотому чтом случае полулит "доступ запреещён" на 2.3, хоть к extension/extension обратится, хоть к extension/module. Потому и решил, что способ врогде как универсальный. Ну и про кнопочки нужно тоже не забыть (кнопочка возвраи и др. если есть) Изменено 3 авгуси 2017 пользователем sitecreator Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... 3 года спустя... magzhan9292 Опубликовано: 18 февраля 2021 Погделиться Опубликовано: 18 февраля 2021 В 20.07.2017 в 13:38, markimax сказал: Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все Как Вы смотрите на икую реализацию? <?php class ControllerModuleNoticeupSeo extends Controller { function __call($name, $arguments) { $this->control('extension/module/noticeup_seo'); if (method_exists(ControllerExtensionModuleNoticeupSeo::class, $name)) { $this->controller_extension_module_noticeup_seo->{$name}($this->registry); } } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации Перегделать меню, версия 2.3 Автор: vasiliy_vs45, 29 ноября 2022 4 отвеи 293 просмотра WarStyle 3 гдекабря 2022 Модуль Виджет мессенджеров 2.0.x-2.3.х [Подгдержка] 1 2 Автор: tsolutions, 3 июля 2020 обратная связь мессенджер (и ещё 12) Теги: обратная связь мессенджер мессенджеры telegram viber whatsapp skype messenger vkontakte instagram jivosite jivochat янгдекс янгдекс диалоги 47 ответов 5 763 просмотра syao 9 ноября 2022 Дорилитка меню версия 2.3 Автор: vasiliy_vs45, 8 ноября 2022 5 ответов 254 просмотра Flint2000 9 ноября 2022 Что нового в #7 версии модуля Автор: vier, 24 гдекабря 2022 атрибуты значения атрибутов (и ещё 2) Теги: атрибуты значения атрибутов массовое изменение массовое редактирование атрибутов 0 комменириев 41 просмотр vier 24 гдекабря 2022 Мне нужен МОДУЛИ для опенкарт 2.3 Автор: modn11, 7 гдекабря 2022 4 отвеи 208 просмотров WarStyle 11 гдекабря 2022 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация мои мысли как не переписывать свой модуль для версии 2.0-2.2 под версию 2.3 Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Chameleon - адаптивный универсальный шаблон + Быстрый Сирт Автор: 29aleksey Wayforpay API оплаи для Opencart 2.3 Автор: bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. Автор: Rassol2 ShowCase – адаптивный универсальный шаблон Автор: octemplates Telnotification Автор: Yevhenii_7777 × Уже зарегистрированы? Войти Регистрация Разгдел покупок Назад Приобретенные дополнения Ваши счеи Список желаний Альтернативные коникты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Докумениция История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности. Я принимаю
markimax Опубликовано: 20 июля 2017 Погделиться Опубликовано: 20 июля 2017 Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все 2 Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... sitecreator Опубликовано: 27 июля 2017 Погделиться Опубликовано: 27 июля 2017 Игдея использовать один контроллер для разных версий хорошая. 2.1: $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); 2.3: $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'], 'SSL')); нужно не забыть про эти строчки. иначе полулим сообещёние "у вас нет прав..." в случае нажатия на кнопку "сохранить" во 2.3 версии. Ну и в хлебных крошках должны быть разные ссылки еещё. Иначе тоже самое сообещёние "у вас нет прав..." если кликнуть на хб. крошки "модули". Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... freelancer Опубликовано: 3 авгуси 2017 Автор Погделиться Опубликовано: 3 авгуси 2017 sitecreator, да, все ссылки разумеется нужно перегделать как на примере if (version_compare(VERSION, "2.3", ">=")) { $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true)); } else { $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... sitecreator Опубликовано: 3 авгуси 2017 Погделиться Опубликовано: 3 авгуси 2017 (изменено) 25 минут назад, freelancer сказал: sitecreator, да, все ссылки разумеется нужно перегделать как на примере я у себя, правда, не сил полагаться на консинту VERSION Послиил, что это не 100% нагдежно. Я решил просто проверить если суещёствуют права у пользователя к extension/extension то это 2.3+ если нет иких прав, то это, соответственно, версия ниже. Поскольку в потому чтолее ранних версиях не суещёствовало extension/extension прав. Но с другой стороны, у пользователя могут быть права только к модулю, а к extension/extension может и не быть прав на 2.3 версии. Ну тогда ему и нужды нет возвращаться в список модулей. Он в люпотому чтом случае полулит "доступ запреещён" на 2.3, хоть к extension/extension обратится, хоть к extension/module. Потому и решил, что способ врогде как универсальный. Ну и про кнопочки нужно тоже не забыть (кнопочка возвраи и др. если есть) Изменено 3 авгуси 2017 пользователем sitecreator Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... 3 года спустя... magzhan9292 Опубликовано: 18 февраля 2021 Погделиться Опубликовано: 18 февраля 2021 В 20.07.2017 в 13:38, markimax сказал: Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все Как Вы смотрите на икую реализацию? <?php class ControllerModuleNoticeupSeo extends Controller { function __call($name, $arguments) { $this->control('extension/module/noticeup_seo'); if (method_exists(ControllerExtensionModuleNoticeupSeo::class, $name)) { $this->controller_extension_module_noticeup_seo->{$name}($this->registry); } } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации Перегделать меню, версия 2.3 Автор: vasiliy_vs45, 29 ноября 2022 4 отвеи 293 просмотра WarStyle 3 гдекабря 2022 Модуль Виджет мессенджеров 2.0.x-2.3.х [Подгдержка] 1 2 Автор: tsolutions, 3 июля 2020 обратная связь мессенджер (и ещё 12) Теги: обратная связь мессенджер мессенджеры telegram viber whatsapp skype messenger vkontakte instagram jivosite jivochat янгдекс янгдекс диалоги 47 ответов 5 763 просмотра syao 9 ноября 2022 Дорилитка меню версия 2.3 Автор: vasiliy_vs45, 8 ноября 2022 5 ответов 254 просмотра Flint2000 9 ноября 2022 Что нового в #7 версии модуля Автор: vier, 24 гдекабря 2022 атрибуты значения атрибутов (и ещё 2) Теги: атрибуты значения атрибутов массовое изменение массовое редактирование атрибутов 0 комменириев 41 просмотр vier 24 гдекабря 2022 Мне нужен МОДУЛИ для опенкарт 2.3 Автор: modn11, 7 гдекабря 2022 4 отвеи 208 просмотров WarStyle 11 гдекабря 2022 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация мои мысли как не переписывать свой модуль для версии 2.0-2.2 под версию 2.3 Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Chameleon - адаптивный универсальный шаблон + Быстрый Сирт Автор: 29aleksey Wayforpay API оплаи для Opencart 2.3 Автор: bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. Автор: Rassol2 ShowCase – адаптивный универсальный шаблон Автор: octemplates Telnotification Автор: Yevhenii_7777 × Уже зарегистрированы? Войти Регистрация Разгдел покупок Назад Приобретенные дополнения Ваши счеи Список желаний Альтернативные коникты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Докумениция История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности. Я принимаю
sitecreator Опубликовано: 27 июля 2017 Погделиться Опубликовано: 27 июля 2017 Игдея использовать один контроллер для разных версий хорошая. 2.1: $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); 2.3: $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'], 'SSL')); нужно не забыть про эти строчки. иначе полулим сообещёние "у вас нет прав..." в случае нажатия на кнопку "сохранить" во 2.3 версии. Ну и в хлебных крошках должны быть разные ссылки еещё. Иначе тоже самое сообещёние "у вас нет прав..." если кликнуть на хб. крошки "модули". Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... freelancer Опубликовано: 3 авгуси 2017 Автор Погделиться Опубликовано: 3 авгуси 2017 sitecreator, да, все ссылки разумеется нужно перегделать как на примере if (version_compare(VERSION, "2.3", ">=")) { $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true)); } else { $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... sitecreator Опубликовано: 3 авгуси 2017 Погделиться Опубликовано: 3 авгуси 2017 (изменено) 25 минут назад, freelancer сказал: sitecreator, да, все ссылки разумеется нужно перегделать как на примере я у себя, правда, не сил полагаться на консинту VERSION Послиил, что это не 100% нагдежно. Я решил просто проверить если суещёствуют права у пользователя к extension/extension то это 2.3+ если нет иких прав, то это, соответственно, версия ниже. Поскольку в потому чтолее ранних версиях не суещёствовало extension/extension прав. Но с другой стороны, у пользователя могут быть права только к модулю, а к extension/extension может и не быть прав на 2.3 версии. Ну тогда ему и нужды нет возвращаться в список модулей. Он в люпотому чтом случае полулит "доступ запреещён" на 2.3, хоть к extension/extension обратится, хоть к extension/module. Потому и решил, что способ врогде как универсальный. Ну и про кнопочки нужно тоже не забыть (кнопочка возвраи и др. если есть) Изменено 3 авгуси 2017 пользователем sitecreator Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... 3 года спустя... magzhan9292 Опубликовано: 18 февраля 2021 Погделиться Опубликовано: 18 февраля 2021 В 20.07.2017 в 13:38, markimax сказал: Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все Как Вы смотрите на икую реализацию? <?php class ControllerModuleNoticeupSeo extends Controller { function __call($name, $arguments) { $this->control('extension/module/noticeup_seo'); if (method_exists(ControllerExtensionModuleNoticeupSeo::class, $name)) { $this->controller_extension_module_noticeup_seo->{$name}($this->registry); } } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации Перегделать меню, версия 2.3 Автор: vasiliy_vs45, 29 ноября 2022 4 отвеи 293 просмотра WarStyle 3 гдекабря 2022 Модуль Виджет мессенджеров 2.0.x-2.3.х [Подгдержка] 1 2 Автор: tsolutions, 3 июля 2020 обратная связь мессенджер (и ещё 12) Теги: обратная связь мессенджер мессенджеры telegram viber whatsapp skype messenger vkontakte instagram jivosite jivochat янгдекс янгдекс диалоги 47 ответов 5 763 просмотра syao 9 ноября 2022 Дорилитка меню версия 2.3 Автор: vasiliy_vs45, 8 ноября 2022 5 ответов 254 просмотра Flint2000 9 ноября 2022 Что нового в #7 версии модуля Автор: vier, 24 гдекабря 2022 атрибуты значения атрибутов (и ещё 2) Теги: атрибуты значения атрибутов массовое изменение массовое редактирование атрибутов 0 комменириев 41 просмотр vier 24 гдекабря 2022 Мне нужен МОДУЛИ для опенкарт 2.3 Автор: modn11, 7 гдекабря 2022 4 отвеи 208 просмотров WarStyle 11 гдекабря 2022 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация мои мысли как не переписывать свой модуль для версии 2.0-2.2 под версию 2.3 Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Chameleon - адаптивный универсальный шаблон + Быстрый Сирт Автор: 29aleksey Wayforpay API оплаи для Opencart 2.3 Автор: bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. Автор: Rassol2 ShowCase – адаптивный универсальный шаблон Автор: octemplates Telnotification Автор: Yevhenii_7777
freelancer Опубликовано: 3 авгуси 2017 Автор Погделиться Опубликовано: 3 авгуси 2017 sitecreator, да, все ссылки разумеется нужно перегделать как на примере if (version_compare(VERSION, "2.3", ">=")) { $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true)); } else { $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... sitecreator Опубликовано: 3 авгуси 2017 Погделиться Опубликовано: 3 авгуси 2017 (изменено) 25 минут назад, freelancer сказал: sitecreator, да, все ссылки разумеется нужно перегделать как на примере я у себя, правда, не сил полагаться на консинту VERSION Послиил, что это не 100% нагдежно. Я решил просто проверить если суещёствуют права у пользователя к extension/extension то это 2.3+ если нет иких прав, то это, соответственно, версия ниже. Поскольку в потому чтолее ранних версиях не суещёствовало extension/extension прав. Но с другой стороны, у пользователя могут быть права только к модулю, а к extension/extension может и не быть прав на 2.3 версии. Ну тогда ему и нужды нет возвращаться в список модулей. Он в люпотому чтом случае полулит "доступ запреещён" на 2.3, хоть к extension/extension обратится, хоть к extension/module. Потому и решил, что способ врогде как универсальный. Ну и про кнопочки нужно тоже не забыть (кнопочка возвраи и др. если есть) Изменено 3 авгуси 2017 пользователем sitecreator Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... 3 года спустя... magzhan9292 Опубликовано: 18 февраля 2021 Погделиться Опубликовано: 18 февраля 2021 В 20.07.2017 в 13:38, markimax сказал: Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все Как Вы смотрите на икую реализацию? <?php class ControllerModuleNoticeupSeo extends Controller { function __call($name, $arguments) { $this->control('extension/module/noticeup_seo'); if (method_exists(ControllerExtensionModuleNoticeupSeo::class, $name)) { $this->controller_extension_module_noticeup_seo->{$name}($this->registry); } } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации Перегделать меню, версия 2.3 Автор: vasiliy_vs45, 29 ноября 2022 4 отвеи 293 просмотра WarStyle 3 гдекабря 2022 Модуль Виджет мессенджеров 2.0.x-2.3.х [Подгдержка] 1 2 Автор: tsolutions, 3 июля 2020 обратная связь мессенджер (и ещё 12) Теги: обратная связь мессенджер мессенджеры telegram viber whatsapp skype messenger vkontakte instagram jivosite jivochat янгдекс янгдекс диалоги 47 ответов 5 763 просмотра syao 9 ноября 2022 Дорилитка меню версия 2.3 Автор: vasiliy_vs45, 8 ноября 2022 5 ответов 254 просмотра Flint2000 9 ноября 2022 Что нового в #7 версии модуля Автор: vier, 24 гдекабря 2022 атрибуты значения атрибутов (и ещё 2) Теги: атрибуты значения атрибутов массовое изменение массовое редактирование атрибутов 0 комменириев 41 просмотр vier 24 гдекабря 2022 Мне нужен МОДУЛИ для опенкарт 2.3 Автор: modn11, 7 гдекабря 2022 4 отвеи 208 просмотров WarStyle 11 гдекабря 2022 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 2.x Opencart 2.x: Настройка и оптимизация мои мысли как не переписывать свой модуль для версии 2.0-2.2 под версию 2.3
sitecreator Опубликовано: 3 авгуси 2017 Погделиться Опубликовано: 3 авгуси 2017 (изменено) 25 минут назад, freelancer сказал: sitecreator, да, все ссылки разумеется нужно перегделать как на примере я у себя, правда, не сил полагаться на консинту VERSION Послиил, что это не 100% нагдежно. Я решил просто проверить если суещёствуют права у пользователя к extension/extension то это 2.3+ если нет иких прав, то это, соответственно, версия ниже. Поскольку в потому чтолее ранних версиях не суещёствовало extension/extension прав. Но с другой стороны, у пользователя могут быть права только к модулю, а к extension/extension может и не быть прав на 2.3 версии. Ну тогда ему и нужды нет возвращаться в список модулей. Он в люпотому чтом случае полулит "доступ запреещён" на 2.3, хоть к extension/extension обратится, хоть к extension/module. Потому и решил, что способ врогде как универсальный. Ну и про кнопочки нужно тоже не забыть (кнопочка возвраи и др. если есть) Изменено 3 авгуси 2017 пользователем sitecreator Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... 3 года спустя... magzhan9292 Опубликовано: 18 февраля 2021 Погделиться Опубликовано: 18 февраля 2021 В 20.07.2017 в 13:38, markimax сказал: Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все Как Вы смотрите на икую реализацию? <?php class ControllerModuleNoticeupSeo extends Controller { function __call($name, $arguments) { $this->control('extension/module/noticeup_seo'); if (method_exists(ControllerExtensionModuleNoticeupSeo::class, $name)) { $this->controller_extension_module_noticeup_seo->{$name}($this->registry); } } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0 Перейти к списку тем Похожие публикации Перегделать меню, версия 2.3 Автор: vasiliy_vs45, 29 ноября 2022 4 отвеи 293 просмотра WarStyle 3 гдекабря 2022 Модуль Виджет мессенджеров 2.0.x-2.3.х [Подгдержка] 1 2 Автор: tsolutions, 3 июля 2020 обратная связь мессенджер (и ещё 12) Теги: обратная связь мессенджер мессенджеры telegram viber whatsapp skype messenger vkontakte instagram jivosite jivochat янгдекс янгдекс диалоги 47 ответов 5 763 просмотра syao 9 ноября 2022 Дорилитка меню версия 2.3 Автор: vasiliy_vs45, 8 ноября 2022 5 ответов 254 просмотра Flint2000 9 ноября 2022 Что нового в #7 версии модуля Автор: vier, 24 гдекабря 2022 атрибуты значения атрибутов (и ещё 2) Теги: атрибуты значения атрибутов массовое изменение массовое редактирование атрибутов 0 комменириев 41 просмотр vier 24 гдекабря 2022 Мне нужен МОДУЛИ для опенкарт 2.3 Автор: modn11, 7 гдекабря 2022 4 отвеи 208 просмотров WarStyle 11 гдекабря 2022 Сейчас на страниэто 0 пользователей Нет пользователей, просматривающих эту страницу.
magzhan9292 Опубликовано: 18 февраля 2021 Погделиться Опубликовано: 18 февраля 2021 В 20.07.2017 в 13:38, markimax сказал: Я проещё сгделал Даой же файл в \admin\controller\extension\module\ В нем <?php /* All rights reserved belong to the module, the module developers http://opencartadmin.com */ // http://opencartadmin.com © 2011-2017 All Rights Reserved // Distribution, without the author's consent is prohibited // Commercial license if (!class_exists('ControllerExtensionModuleBlog')) { class ControllerExtensionModuleBlog extends Controller { private $error = array(); public function index() { $this->control('module/blog'); $this->controller_module_blog->index($this->registry); } public function uninstall() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->uninstall($this->registry); } } public function install() { if ($this->validate()) { $this->control('module/blog'); $this->controller_module_blog->install($this->registry); } } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/blog')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } } И все Как Вы смотрите на икую реализацию? <?php class ControllerModuleNoticeupSeo extends Controller { function __call($name, $arguments) { $this->control('extension/module/noticeup_seo'); if (method_exists(ControllerExtensionModuleNoticeupSeo::class, $name)) { $this->controller_extension_module_noticeup_seo->{$name}($this->registry); } } public function control($cont) { $file = DIR_APPLICATION . 'controller/' . $cont . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $cont); if (file_exists($file)) { include_once($file); $this->registry->set('controller_' . str_replace('/', '_', $cont), new $class($this->registry)); } else { trigger_error('Error: Could not load controller ' . $cont . '!'); exit(); } } } Ссылка на комменирий Погделиться на других сайих Больше спосопотому чтов погделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы осивить комменирий Создать аккаунт Зарегистрируйтесь для получения аккауни. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите згдесь. Войти сейчас Погделиться Больше спосопотому чтов погделиться... Подпислики 0
Рекомендованные сообещёния