-
Публікації
1 034 -
З нами
-
Відвідування
Про Sha
- День народження 30.07.80
Технічна підтримка
-
Робочі дні
Пн
Вт
Ср
Чт
Пт -
Вихідні дні
Сб
Нд -
Робочий час
10:00 - 18:00
-
Статус
Працюю
Інформація
-
Місто:
Україна!
Sha's Achievements
-
Пропустив Ваше питання, мої вибачення!) Доповнення "автоналаштовується" беручi за основу налаштування мов магазину! Там потрiбно щоб були вiрнi налаштування! Хоча у Вас на сайтi багатомовнiсть виконана за рахунок стороннiх модулiв. Вирогiдно потрiбен iндивiдуальний пiдхiд! Кошти повернути можна написавши у техпiдтримку форуму Дякую! Приклад1 Приклад 2
-
Модуль пакетного редагування товарiв!
- 4 049 відповідей
-
- пакетное
- редактирование
-
(і ще %d)
Теги:
-
Sha підписався на Борода не делает козла раввином
-
Завантажити / Придбати розширення Управління категоріями Free Модуль зручного управління! Категорії в категорії плюс категорії : Тягни - кидай: Контролюй: Ключові можливості: Перебудова ієрархії необмеженої вкладеності. Призначити батьківську, поміняти дочірню. "Drag & Drop" сортування категорій перетягуванням. Плюс «Підсвічування» параметрів, до яких буде застосовано зміни. Розумна панель управлiння Автор Sha долучення 20.11.24 Категорія Редакторы Ioncube Loader Нет ocStore 3.0 OpenCart.Pro, ocShop Не проверялось Звернення до сервера розробника Нет
-
Версія 0.1.a
24 завантаження
Модуль зручного управління! Категорії в категорії плюс категорії : Тягни - кидай: Контролюй: Ключові можливості: Перебудова ієрархії необмеженої вкладеності. Призначити батьківську, поміняти дочірню. "Drag & Drop" сортування категорій перетягуванням. Плюс «Підсвічування» параметрів, до яких буде застосовано зміни. Розумна панель управлiнняБезкоштовне -
Це можна зробити на вкладинці "Зображення"! Картинки будуть видалені у всіх обраних товарів, перед внесенням змін, а якщо нижче було обрано нові зображення, то після очищення вони додадуться до товарів. Також модуль має одну унікальну у своєму роді фішку - видалення по вказаній картинці. Вказавши яку саме картинку потрібно шукати - мультиедіт автоматично знайде і видалить її з усіх зазначених товарів, наприклад, у всіх товарів категорії.
-
Анонсуємо нову версію модуля 1) На ваші численні прохання Доданий функціонал оновлення ціни за формулою. Наприклад: (0-100)+23%,(100-347)-20+90*21%,(347-999)+70 Після натискання кнопки "Застосувати" всім вибраним товарам з ціною від нуля до ста додасться 23 відсотка від поточної ціни, а у товарів з ціною більше 100 але менше за 347 забереться 20 одиниць, потім буде додано 90 і результат буде помножено на 21 відсоток, ... (зверніть увагу: обробка ланцюжка -20+90*21% не арифметична, а покрокова). 2) Додано новий функціонал: збереження бази даних товарів. 3) Доопрацьовано функціонал: видалення основного зображення товару та очищення додаткових зображень у вибраних товарів. 4) Зроблено нові адаптації до різних модулів 5) Покращено usability interface Якщо маєте зауваження, чи пропозицiї Або потрiбна адаптацiя до модулiв вiд iнших виробникiв, пишить тут або в особистi повiдомлення! Вдячнi, що ви з нами!)
- 253 відповіді
-
- top
- sale
-
(і ще %d)
Теги:
- top
- sale
- chat gpt
- pro
- атрибуты
- опции
- массовое редактирование
- editor
- products
- скидки
- мета
- мета-теги
- пакетное
- редактирование
- товаров
- админка
- групповое
- массовое
- массовая
- продукты
- быстрое
- изменение
- добавление
- добавить
- цена
- цены
- опций
- акции
- управление
- статус
- обработка
- категорий
- премиум
- групповая
- скидка
- товар
- стоимость
- валюта
- прайс
- price
- акция
- категория
- корзина
- продажа
- продажи
- баллы
- отзывы
- статьи
- галерея
- заказ
- быстрый
- обновление цены
- ocmod
- atribute
- модели
- автодополнение
- снипеты
- скорость
- модуль
- блоки
- форма
- product
- наполнение интернетмагазина
- обновление товар
- опции в категории
- универсальный
- рекомендуем
- opencart
- фильтр
- filter
- регистрация
- опция
- изменить
- товары
- категории
- производители
- українською
- українська
- chatgpt
- chatbots
- multi
- multiedit
- search
- replace
- replacer
- find
- search and replace
- find and replace
- edit
- seo
- faq
- seo faq
- filter products
- filter opencart
- filter for brands
- filter for products
- filter pro
- filteroc
- ocfilter
- oc filter
- open
- openai
- opencart ai
- ai opencart
- new
-
Завтра останнiй день знижок, по розпродажу 11:11 !
- 253 відповіді
-
- top
- sale
-
(і ще %d)
Теги:
- top
- sale
- chat gpt
- pro
- атрибуты
- опции
- массовое редактирование
- editor
- products
- скидки
- мета
- мета-теги
- пакетное
- редактирование
- товаров
- админка
- групповое
- массовое
- массовая
- продукты
- быстрое
- изменение
- добавление
- добавить
- цена
- цены
- опций
- акции
- управление
- статус
- обработка
- категорий
- премиум
- групповая
- скидка
- товар
- стоимость
- валюта
- прайс
- price
- акция
- категория
- корзина
- продажа
- продажи
- баллы
- отзывы
- статьи
- галерея
- заказ
- быстрый
- обновление цены
- ocmod
- atribute
- модели
- автодополнение
- снипеты
- скорость
- модуль
- блоки
- форма
- product
- наполнение интернетмагазина
- обновление товар
- опции в категории
- универсальный
- рекомендуем
- opencart
- фильтр
- filter
- регистрация
- опция
- изменить
- товары
- категории
- производители
- українською
- українська
- chatgpt
- chatbots
- multi
- multiedit
- search
- replace
- replacer
- find
- search and replace
- find and replace
- edit
- seo
- faq
- seo faq
- filter products
- filter opencart
- filter for brands
- filter for products
- filter pro
- filteroc
- ocfilter
- oc filter
- open
- openai
- opencart ai
- ai opencart
- new
-
та нi уніфікацію ні хто не чіпає) я про спосіб реалізації та ієрархію. Ось якраз про це наскільки це правильно, таке розгалуження...
-
Sha підписався на унифицируем thumb как в опенкарт 4
-
а не вiдiйдемо ми тодi від MVC?
-
Sha підписався на Нужна помощь! Как сделать перенос текста?
-
.option__item { max-width: 75px; }
-
Sha підписався на Підбір товарів з фільтром модуля ATS:
-
Как просто установить значение для тэга <select></select> с помощью javascript select.selectedIndex = 3;
-
Додано Підтримка Мультисклад + Самовивiз 1 new Підтримка модулю Upsell и Cross-sell 2.0.3 new
- 253 відповіді
-
- top
- sale
-
(і ще %d)
Теги:
- top
- sale
- chat gpt
- pro
- атрибуты
- опции
- массовое редактирование
- editor
- products
- скидки
- мета
- мета-теги
- пакетное
- редактирование
- товаров
- админка
- групповое
- массовое
- массовая
- продукты
- быстрое
- изменение
- добавление
- добавить
- цена
- цены
- опций
- акции
- управление
- статус
- обработка
- категорий
- премиум
- групповая
- скидка
- товар
- стоимость
- валюта
- прайс
- price
- акция
- категория
- корзина
- продажа
- продажи
- баллы
- отзывы
- статьи
- галерея
- заказ
- быстрый
- обновление цены
- ocmod
- atribute
- модели
- автодополнение
- снипеты
- скорость
- модуль
- блоки
- форма
- product
- наполнение интернетмагазина
- обновление товар
- опции в категории
- универсальный
- рекомендуем
- opencart
- фильтр
- filter
- регистрация
- опция
- изменить
- товары
- категории
- производители
- українською
- українська
- chatgpt
- chatbots
- multi
- multiedit
- search
- replace
- replacer
- find
- search and replace
- find and replace
- edit
- seo
- faq
- seo faq
- filter products
- filter opencart
- filter for brands
- filter for products
- filter pro
- filteroc
- ocfilter
- oc filter
- open
- openai
- opencart ai
- ai opencart
- new
-
Ви дійсно маєте рацію, а їздити краще на BMW
- 2 коментаря
-
- 1
-
- module
- javascript
-
(і ще %d)
Теги:
-
Elpeupetit підписався на Sha
-
Sha підписався на Управління категоріями Free
-
Доброго дня! Останнiм часом раз-пораз з'являються дискусії на тему застаріння CMS OpenCart. Порушимо і тут цю тему, але не розкритикувати, чи похвалити, а пропонуючи! Як розгорнути проект з сучасним FrontEnd ми писали ранiше... Зараз-же розглянемо посібник з прикладами, де спробуємо подружити Element Plus та OpenCart модуль для адмiн панелi Створемо додаток "Управління категоріями OpenCart" 1) Клієнтська частина ../upload/admin/view/template/extension/module/multi_categories.twig {{ header }} {{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a> </div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ breadcrumb_last }}</h3> </div> <div class="panel-body"> <div id="app"></div> </div> </div> </div> </div> <script type="module" crossorigin src="{{ base }}view/javascript/product_list.js"></script> <link rel="stylesheet" crossorigin href="{{ base }}view/javascript/product_list.css"> <style> html { height: auto } </style> {{ footer }} 2) Клієнтська частина source for Vue Element-plus ../src/App.vue <template> <el-tree style="max-width: 600px" :data="products" node-key="category_id" > <template #default="{ node, data }"> <span class="custom-tree-node"> <span>{{ data.sort_order }}) {{ node.label }}</span> <span> <a :href="openCategory(data)" target="_blank">_<i class="fa fa-pencil"></i></a> </span> </span> </template> </el-tree> </template> <script setup> import { onMounted, ref } from 'vue'; let productPath = ''; const products = ref({}); const openCategory = (data) => { return data.href.replaceAll('&', '&'); } const appInit = (list = []) => { products.value = list; } const getProducts = async () => { if (!productPath) { console.debug('The error for determining the path to get data!'); } else { let response = await fetch( productPath ); appInit( await response.json() ); } } const appUrl = (route) => { // Sanitize the call route = route?.replace(/[^a-zA-Z0-9_\/]/i, '') || ''; if (!route) return ''; // production or development (variable set: in root on .env.development file) const inputUrl = new URL( import.meta.env.PROD ? document?.location?.href : import.meta.env.VITE_APP_HOME_PATH ); inputUrl?.searchParams?.set('route', route); return inputUrl?.href || ''; } onMounted(() => { productPath = appUrl( 'extension/module/multi_categories/get_categories' ); getProducts(); }) </script> <style> .custom-tree-node { align-items: center; column-gap: 9px; display: flex; flex: 1; justify-content: space-between } </style> 3) Контроллер ../upload/admin/controller/extension/module/multi_categories.php <?php // Read more: https://opencartforum.com/files/developer/678008-sha class ControllerExtensionModuleMultiCategories extends Controller { private $error = []; private $edit_link = ''; public function index() { $this->load->language('extension/module/multi_categories'); $this->document->setTitle( $this->language->get('heading_title') ); $this->getForm(); } protected function getForm() { $data = []; $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/module/multi_categories', $data)); } public function get_categories() { $this->response->addHeader('Content-Type: application/json'); if (!$this->validate()) $this->response->setOutput([]); $this->load->model('extension/module/multi_categories'); $categories = $this->model_extension_module_multi_categories->get_categories(); $this->edit_link = $this->url->link( 'catalog/category/edit', 'user_token=' . $this->session->data['user_token'], true ); $this->response->setOutput(json_encode( $this->tree( $categories ) )); } private function tree($list, $parent_id = 0) { $children_list = []; foreach ($list as $item) { if ((int)$parent_id !== (int)$item['parent_id']) continue; $item['children'] = $this->tree( $list, $item['category_id'] ); $children_list[] = $this->itemBuild( $item ); } return $children_list; } private function itemBuild($data = []) { $data['label'] = strip_tags(html_entity_decode( $data['name'], ENT_QUOTES, 'UTF-8' )); $data['href'] = $this->edit_link . '&category_id=' . $data['category_id']; return $data; } private function validate() { if (!$this->user->hasPermission('access', 'extension/module/multi_categories')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } } 4) Модель ../upload/admin/model/extension/module/multi_categories.php <?php // Read more: https://opencartforum.com/files/developer/678008-sha class ModelExtensionModuleMultiCategories extends Model { public function get_categories() { $query = $this->db->query("SELECT cd.name, c.category_id, c.parent_id, c.sort_order FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.parent_id, c.sort_order, cd.name;"); return isset($query->num_rows) ? $query->rows : []; } } 5) Мова ../upload/admin/language/en-gb/extension/module/multi_categories.php <?php // Heading $_['heading_title'] = 'Categories'; Сучасні бібліотеки та фреймворки пропонують широкий вибір готового функціоналу, наприклад, ви легко можете додати можливість перетягування елементів <el-tree ... draggable ... > //... </el-tree> та події <el-tree @node-drag-start="dragStart" @node-drag-enter="dragEnter" @node-drag-leave="dragLeave" @node-drag-over="dragOver" @node-drag-end="dragEnd" @node-drop="drop" > // ... </el-tree> та з легкістю створити модуль зручного сортування дерева категорій перетягуванням OpenCart методом "Drag and Drop". А з нашими прикладами ще й безкоштовно!!! Дякуємо, за прочитання! Тут ви зможете знайти наші модулі, та щє-й зі знижкою!) якщо використаєте купон 678008-30 Ось що вийшло Скачати готовий модуль! пропозиції та оцiнка вітаються!)
- 2 коментаря
-
- 2
-
- module
- javascript
-
(і ще %d)
Теги: