Absens Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 (змінено) Есть бесплатный модуль (с opencart.com) добавляющий описание к общему пункту опций (во вложении). Модуль рабочий, все записывается в базу куда надо. Необходимо переделать поле с описанием - в поле выбора картинки в админке. Т.е. должно быть как на скрине. Картинка должна записываться в столбец image в таблице option_description. Подозреваю что реализуется просто, но понимания пока не хватает. Кто готов помочь, напишите, обсудим стоимость работы. Суть проблемы описал тут: optiondescription3x.ocmod.zip Змінено 25 березня 2021 користувачем Absens Надіслати Поділитися на інших сайтах More sharing options...
Dimasscus Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 1 час назад, Absens сказал: Есть бесплатный модуль (с opencart.com) добавляющий описание к общему пункту опций (во вложении). Модуль рабочий, все записывается в базу куда надо. Необходимо переделать поле с описанием - в поле выбора картинки в админке. Т.е. должно быть как на скрине. Картинка должна записываться в столбец image в таблице option_description. Подозреваю что реализуется просто, но понимания пока не хватает. Кто готов помочь, напишите, обсудим стоимость работы. Суть проблемы описал тут: optiondescription3x.ocmod.zip 1 \u043a\u0411 · 0 downloads посмотрите ка реализовано например в категории. и сделайте по аналогии Надіслати Поділитися на інших сайтах More sharing options...
Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 4 минуты назад, Dimasscus сказал: посмотрите ка реализовано например в категории. и сделайте по аналогии да, я пробовал, но не знаю как сделать так, чтобы путь до выбранной картинки сохранился в базе. С текстовыми полями все более-менее ясно, но похоже что для картинок надо дописать что-то в модели или контроллере. Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 1 час назад, Absens сказал: Картинка должна записываться в столбец image в таблице option_description. не правильно нужно записывать в таблицу option 1 Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 Почему неправильно? Просто в модуле записывается в option_description, да и описание опции от другого модуля тоже туда записывается. Мне кажется некритично. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 22 минуты назад, Absens сказал: Почему неправильно? потому что в option_description, будет столько записей для одной опции, сколько языков на сайте и нафига изображение записывать несколько раз? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 25 минут назад, Absens сказал: да и описание опции от другого модуля тоже туда записывается. описание да, потому что описание для каждого языка свое Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 получилось? Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 1 час назад, fanatic сказал: получилось? Получилось, в базу запись идет) когда понял что надо записать в таблицу option все стало гораздо яснее) Правда пока не получается подтянуть thumb картинки после сохранения опции, хотя вроде все правильно делаю. <modification> <name>Options image</name> <version>1.0</version> <code>options_image_extension</code> <author>test</author> <link>test</link> <file path="admin/view/template/catalog/option_form.twig"> <operation> <search><![CDATA[<label class="col-sm-2 control-label" for="input-sort-order">]]></search> <add position="before" offset="1"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-image">Картинка</label> <div class="col-sm-10"> <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a> <input type="hidden" name="image" value="{{ image }}" id="input-image" /> </div> </div> ]]></add> </operation> </file> <file path="admin/model/catalog/option.php"> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="after"><![CDATA[$this->createtable();]]></add> </operation> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="before"><![CDATA[ public function createtable(){ $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX ."product_option_value_data` (`product_option_value_data_id` int(11) NOT NULL AUTO_INCREMENT, `product_option_value_id` INT(11) NOT NULL,`product_id` INT(11) NOT NULL, `image` varchar(255) NOT NULL,`model` varchar(255) NOT NULL,`sku` varchar(255) NOT NULL, PRIMARY KEY(`product_option_value_data_id`))"); $query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "option` LIKE 'image'"); if(!$query->num_rows){ $this->db->query("ALTER TABLE `" . DB_PREFIX . "option` ADD `image` varchar(255) NOT NULL AFTER `type`"); } } ]]></add> </operation> <operation> <search><![CDATA[sort_order = '" . (int)$data['sort_order'] . "']]></search> <add position="replace"><![CDATA[sort_order = '" . (int)$data['sort_order'] . "',image = '" . $this->db->escape($data['image']) . "']]></add> </operation> </file> <file path="admin/controller/catalog/option.php"> <operation> <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($option_info)) { $data['image'] = $option_info['image']; } else { $data['image'] = ''; } $this->load->model('tool/image'); if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) { $data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($option_info) && is_file(DIR_IMAGE . $option_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($option_info['image'], 100, 100); } else { $data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 7 минут назад, Absens сказал: <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ <search><![CDATA[if (isset($this->request->post['sort_order'])) {]]></search> <add position="before"><![CDATA[ Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 вставлять нужно после того как объявлена переменная $option_info Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності В админке поменять поле textarea в image в общем пункте опций OcStore 3 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 Почему неправильно? Просто в модуле записывается в option_description, да и описание опции от другого модуля тоже туда записывается. Мне кажется некритично. Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 22 минуты назад, Absens сказал: Почему неправильно? потому что в option_description, будет столько записей для одной опции, сколько языков на сайте и нафига изображение записывать несколько раз? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 25 минут назад, Absens сказал: да и описание опции от другого модуля тоже туда записывается. описание да, потому что описание для каждого языка свое Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 получилось? Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 1 час назад, fanatic сказал: получилось? Получилось, в базу запись идет) когда понял что надо записать в таблицу option все стало гораздо яснее) Правда пока не получается подтянуть thumb картинки после сохранения опции, хотя вроде все правильно делаю. <modification> <name>Options image</name> <version>1.0</version> <code>options_image_extension</code> <author>test</author> <link>test</link> <file path="admin/view/template/catalog/option_form.twig"> <operation> <search><![CDATA[<label class="col-sm-2 control-label" for="input-sort-order">]]></search> <add position="before" offset="1"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-image">Картинка</label> <div class="col-sm-10"> <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a> <input type="hidden" name="image" value="{{ image }}" id="input-image" /> </div> </div> ]]></add> </operation> </file> <file path="admin/model/catalog/option.php"> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="after"><![CDATA[$this->createtable();]]></add> </operation> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="before"><![CDATA[ public function createtable(){ $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX ."product_option_value_data` (`product_option_value_data_id` int(11) NOT NULL AUTO_INCREMENT, `product_option_value_id` INT(11) NOT NULL,`product_id` INT(11) NOT NULL, `image` varchar(255) NOT NULL,`model` varchar(255) NOT NULL,`sku` varchar(255) NOT NULL, PRIMARY KEY(`product_option_value_data_id`))"); $query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "option` LIKE 'image'"); if(!$query->num_rows){ $this->db->query("ALTER TABLE `" . DB_PREFIX . "option` ADD `image` varchar(255) NOT NULL AFTER `type`"); } } ]]></add> </operation> <operation> <search><![CDATA[sort_order = '" . (int)$data['sort_order'] . "']]></search> <add position="replace"><![CDATA[sort_order = '" . (int)$data['sort_order'] . "',image = '" . $this->db->escape($data['image']) . "']]></add> </operation> </file> <file path="admin/controller/catalog/option.php"> <operation> <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($option_info)) { $data['image'] = $option_info['image']; } else { $data['image'] = ''; } $this->load->model('tool/image'); if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) { $data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($option_info) && is_file(DIR_IMAGE . $option_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($option_info['image'], 100, 100); } else { $data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 7 минут назад, Absens сказал: <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ <search><![CDATA[if (isset($this->request->post['sort_order'])) {]]></search> <add position="before"><![CDATA[ Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 вставлять нужно после того как объявлена переменная $option_info Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності В админке поменять поле textarea в image в общем пункте опций OcStore 3 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 25 минут назад, Absens сказал: да и описание опции от другого модуля тоже туда записывается. описание да, потому что описание для каждого языка свое Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 получилось? Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 1 час назад, fanatic сказал: получилось? Получилось, в базу запись идет) когда понял что надо записать в таблицу option все стало гораздо яснее) Правда пока не получается подтянуть thumb картинки после сохранения опции, хотя вроде все правильно делаю. <modification> <name>Options image</name> <version>1.0</version> <code>options_image_extension</code> <author>test</author> <link>test</link> <file path="admin/view/template/catalog/option_form.twig"> <operation> <search><![CDATA[<label class="col-sm-2 control-label" for="input-sort-order">]]></search> <add position="before" offset="1"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-image">Картинка</label> <div class="col-sm-10"> <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a> <input type="hidden" name="image" value="{{ image }}" id="input-image" /> </div> </div> ]]></add> </operation> </file> <file path="admin/model/catalog/option.php"> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="after"><![CDATA[$this->createtable();]]></add> </operation> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="before"><![CDATA[ public function createtable(){ $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX ."product_option_value_data` (`product_option_value_data_id` int(11) NOT NULL AUTO_INCREMENT, `product_option_value_id` INT(11) NOT NULL,`product_id` INT(11) NOT NULL, `image` varchar(255) NOT NULL,`model` varchar(255) NOT NULL,`sku` varchar(255) NOT NULL, PRIMARY KEY(`product_option_value_data_id`))"); $query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "option` LIKE 'image'"); if(!$query->num_rows){ $this->db->query("ALTER TABLE `" . DB_PREFIX . "option` ADD `image` varchar(255) NOT NULL AFTER `type`"); } } ]]></add> </operation> <operation> <search><![CDATA[sort_order = '" . (int)$data['sort_order'] . "']]></search> <add position="replace"><![CDATA[sort_order = '" . (int)$data['sort_order'] . "',image = '" . $this->db->escape($data['image']) . "']]></add> </operation> </file> <file path="admin/controller/catalog/option.php"> <operation> <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($option_info)) { $data['image'] = $option_info['image']; } else { $data['image'] = ''; } $this->load->model('tool/image'); if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) { $data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($option_info) && is_file(DIR_IMAGE . $option_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($option_info['image'], 100, 100); } else { $data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 7 минут назад, Absens сказал: <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ <search><![CDATA[if (isset($this->request->post['sort_order'])) {]]></search> <add position="before"><![CDATA[ Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 вставлять нужно после того как объявлена переменная $option_info Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності В админке поменять поле textarea в image в общем пункте опций OcStore 3 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 получилось? Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Надіслати Поділитися на інших сайтах More sharing options... Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 1 час назад, fanatic сказал: получилось? Получилось, в базу запись идет) когда понял что надо записать в таблицу option все стало гораздо яснее) Правда пока не получается подтянуть thumb картинки после сохранения опции, хотя вроде все правильно делаю. <modification> <name>Options image</name> <version>1.0</version> <code>options_image_extension</code> <author>test</author> <link>test</link> <file path="admin/view/template/catalog/option_form.twig"> <operation> <search><![CDATA[<label class="col-sm-2 control-label" for="input-sort-order">]]></search> <add position="before" offset="1"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-image">Картинка</label> <div class="col-sm-10"> <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a> <input type="hidden" name="image" value="{{ image }}" id="input-image" /> </div> </div> ]]></add> </operation> </file> <file path="admin/model/catalog/option.php"> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="after"><![CDATA[$this->createtable();]]></add> </operation> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="before"><![CDATA[ public function createtable(){ $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX ."product_option_value_data` (`product_option_value_data_id` int(11) NOT NULL AUTO_INCREMENT, `product_option_value_id` INT(11) NOT NULL,`product_id` INT(11) NOT NULL, `image` varchar(255) NOT NULL,`model` varchar(255) NOT NULL,`sku` varchar(255) NOT NULL, PRIMARY KEY(`product_option_value_data_id`))"); $query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "option` LIKE 'image'"); if(!$query->num_rows){ $this->db->query("ALTER TABLE `" . DB_PREFIX . "option` ADD `image` varchar(255) NOT NULL AFTER `type`"); } } ]]></add> </operation> <operation> <search><![CDATA[sort_order = '" . (int)$data['sort_order'] . "']]></search> <add position="replace"><![CDATA[sort_order = '" . (int)$data['sort_order'] . "',image = '" . $this->db->escape($data['image']) . "']]></add> </operation> </file> <file path="admin/controller/catalog/option.php"> <operation> <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($option_info)) { $data['image'] = $option_info['image']; } else { $data['image'] = ''; } $this->load->model('tool/image'); if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) { $data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($option_info) && is_file(DIR_IMAGE . $option_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($option_info['image'], 100, 100); } else { $data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 7 минут назад, Absens сказал: <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ <search><![CDATA[if (isset($this->request->post['sort_order'])) {]]></search> <add position="before"><![CDATA[ Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 вставлять нужно после того как объявлена переменная $option_info Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності В админке поменять поле textarea в image в общем пункте опций OcStore 3
Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Надіслати Поділитися на інших сайтах More sharing options...
Absens Опубліковано: 25 березня 2021 Автор Share Опубліковано: 25 березня 2021 1 час назад, fanatic сказал: получилось? Получилось, в базу запись идет) когда понял что надо записать в таблицу option все стало гораздо яснее) Правда пока не получается подтянуть thumb картинки после сохранения опции, хотя вроде все правильно делаю. <modification> <name>Options image</name> <version>1.0</version> <code>options_image_extension</code> <author>test</author> <link>test</link> <file path="admin/view/template/catalog/option_form.twig"> <operation> <search><![CDATA[<label class="col-sm-2 control-label" for="input-sort-order">]]></search> <add position="before" offset="1"><![CDATA[ <div class="form-group"> <label class="col-sm-2 control-label" for="input-image">Картинка</label> <div class="col-sm-10"> <a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="{{ thumb }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a> <input type="hidden" name="image" value="{{ image }}" id="input-image" /> </div> </div> ]]></add> </operation> </file> <file path="admin/model/catalog/option.php"> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="after"><![CDATA[$this->createtable();]]></add> </operation> <operation> <search><![CDATA[public function getTotalOptions() {]]></search> <add position="before"><![CDATA[ public function createtable(){ $this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX ."product_option_value_data` (`product_option_value_data_id` int(11) NOT NULL AUTO_INCREMENT, `product_option_value_id` INT(11) NOT NULL,`product_id` INT(11) NOT NULL, `image` varchar(255) NOT NULL,`model` varchar(255) NOT NULL,`sku` varchar(255) NOT NULL, PRIMARY KEY(`product_option_value_data_id`))"); $query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "option` LIKE 'image'"); if(!$query->num_rows){ $this->db->query("ALTER TABLE `" . DB_PREFIX . "option` ADD `image` varchar(255) NOT NULL AFTER `type`"); } } ]]></add> </operation> <operation> <search><![CDATA[sort_order = '" . (int)$data['sort_order'] . "']]></search> <add position="replace"><![CDATA[sort_order = '" . (int)$data['sort_order'] . "',image = '" . $this->db->escape($data['image']) . "']]></add> </operation> </file> <file path="admin/controller/catalog/option.php"> <operation> <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($option_info)) { $data['image'] = $option_info['image']; } else { $data['image'] = ''; } $this->load->model('tool/image'); if (isset($this->request->post['image']) && is_file(DIR_IMAGE . $this->request->post['image'])) { $data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($option_info) && is_file(DIR_IMAGE . $option_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($option_info['image'], 100, 100); } else { $data['thumb'] = $this->model_tool_image->resize('no_image.png', 100, 100); } $data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100); ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 7 минут назад, Absens сказал: <search><![CDATA[protected function getForm() {]]></search> <add position="after"><![CDATA[ <search><![CDATA[if (isset($this->request->post['sort_order'])) {]]></search> <add position="before"><![CDATA[ Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 вставлять нужно после того как объявлена переменная $option_info Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
fanatic Опубліковано: 25 березня 2021 Share Опубліковано: 25 березня 2021 вставлять нужно после того как объявлена переменная $option_info Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3
Recommended Posts