Absens Posted March 25, 2021 Share Posted March 25, 2021 (edited) Есть бесплатный модуль (с opencart.com) добавляющий описание к общему пункту опций (во вложении). Модуль рабочий, все записывается в базу куда надо. Необходимо переделать поле с описанием - в поле выбора картинки в админке. Т.е. должно быть как на скрине. Картинка должна записываться в столбец image в таблице option_description. Подозреваю что реализуется просто, но понимания пока не хватает. Кто готов помочь, напишите, обсудим стоимость работы. Суть проблемы описал тут: optiondescription3x.ocmod.zip Edited March 25, 2021 by Absens Link to comment Share on other sites More sharing options...
Dimasscus Posted March 25, 2021 Share Posted March 25, 2021 1 час назад, Absens сказал: Есть бесплатный модуль (с opencart.com) добавляющий описание к общему пункту опций (во вложении). Модуль рабочий, все записывается в базу куда надо. Необходимо переделать поле с описанием - в поле выбора картинки в админке. Т.е. должно быть как на скрине. Картинка должна записываться в столбец image в таблице option_description. Подозреваю что реализуется просто, но понимания пока не хватает. Кто готов помочь, напишите, обсудим стоимость работы. Суть проблемы описал тут: optiondescription3x.ocmod.zip 1 \u043a\u0411 · 0 downloads посмотрите ка реализовано например в категории. и сделайте по аналогии Link to comment Share on other sites More sharing options...
Absens Posted March 25, 2021 Author Share Posted March 25, 2021 4 минуты назад, Dimasscus сказал: посмотрите ка реализовано например в категории. и сделайте по аналогии да, я пробовал, но не знаю как сделать так, чтобы путь до выбранной картинки сохранился в базе. С текстовыми полями все более-менее ясно, но похоже что для картинок надо дописать что-то в модели или контроллере. Link to comment Share on other sites More sharing options...
fanatic Posted March 25, 2021 Share Posted March 25, 2021 1 час назад, Absens сказал: Картинка должна записываться в столбец image в таблице option_description. не правильно нужно записывать в таблицу option 1 Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 Почему неправильно? Просто в модуле записывается в option_description, да и описание опции от другого модуля тоже туда записывается. Мне кажется некритично. Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 22 минуты назад, Absens сказал: Почему неправильно? потому что в option_description, будет столько записей для одной опции, сколько языков на сайте и нафига изображение записывать несколько раз? Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 25 минут назад, Absens сказал: да и описание опции от другого модуля тоже туда записывается. описание да, потому что описание для каждого языка свое Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 получилось? Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 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> Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 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[ Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 вставлять нужно после того как объявлена переменная $option_info Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Option Image Change - Изменение картинки товара в зависимости от опции By sv2109, March 27, 2014 картинка изображение (and 6 more) Tagged with: картинка изображение рисунок товар опция опции изменить корзина 0 comments 42,789 views NPilgrim May 10, 2017 [Поддержка] Админка - сокрытие полей в карточке товара By chukcha, November 27, 2021 18 replies 743 views chukcha February 27 Как убрать в Ocstore 3 лишние поля при редактировании заказа By Fialka11, February 28 3 replies 216 views Fialka11 February 28 Сменить путь к logo , вручную не через админку с *jpg на *png ocstore 3.037 By kravas86, March 16 5 replies 178 views Allexg March 17 ocStore 2 Export/Import Tool (V3.7) добавление своих полей 1 2 By kolyabis, November 1, 2016 export import opencart 38 replies 11,951 views nikoshot December 16, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Услуги Программирование, создание модулей, изменение функциональности В админке поменять поле textarea в image в общем пункте опций OcStore 3 Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Language Folders in URL (for ocStore 3.x) By SergeTkach HPMrr for OC 2.3/3 By kJlukOo OpenGram | Your store in Telegram By kevdev PDF Рахунок-фактура - Видаткова накладна - Гарантія (Українська) PRO By Speaker12 SAP - SMS / OTP By S_A_P × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Absens Posted March 25, 2021 Author Share Posted March 25, 2021 Почему неправильно? Просто в модуле записывается в option_description, да и описание опции от другого модуля тоже туда записывается. Мне кажется некритично. Link to comment Share on other sites More sharing options...
fanatic Posted March 25, 2021 Share Posted March 25, 2021 22 минуты назад, Absens сказал: Почему неправильно? потому что в option_description, будет столько записей для одной опции, сколько языков на сайте и нафига изображение записывать несколько раз? Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 25 минут назад, Absens сказал: да и описание опции от другого модуля тоже туда записывается. описание да, потому что описание для каждого языка свое Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 получилось? Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 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> Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 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[ Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 вставлять нужно после того как объявлена переменная $option_info Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Option Image Change - Изменение картинки товара в зависимости от опции By sv2109, March 27, 2014 картинка изображение (and 6 more) Tagged with: картинка изображение рисунок товар опция опции изменить корзина 0 comments 42,789 views NPilgrim May 10, 2017 [Поддержка] Админка - сокрытие полей в карточке товара By chukcha, November 27, 2021 18 replies 743 views chukcha February 27 Как убрать в Ocstore 3 лишние поля при редактировании заказа By Fialka11, February 28 3 replies 216 views Fialka11 February 28 Сменить путь к logo , вручную не через админку с *jpg на *png ocstore 3.037 By kravas86, March 16 5 replies 178 views Allexg March 17 ocStore 2 Export/Import Tool (V3.7) добавление своих полей 1 2 By kolyabis, November 1, 2016 export import opencart 38 replies 11,951 views nikoshot December 16, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Услуги Программирование, создание модулей, изменение функциональности В админке поменять поле textarea в image в общем пункте опций OcStore 3 Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Language Folders in URL (for ocStore 3.x) By SergeTkach HPMrr for OC 2.3/3 By kJlukOo OpenGram | Your store in Telegram By kevdev PDF Рахунок-фактура - Видаткова накладна - Гарантія (Українська) PRO By Speaker12 SAP - SMS / OTP By S_A_P × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
fanatic Posted March 25, 2021 Share Posted March 25, 2021 25 минут назад, Absens сказал: да и описание опции от другого модуля тоже туда записывается. описание да, потому что описание для каждого языка свое Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 получилось? Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 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> Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 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[ Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 вставлять нужно после того как объявлена переменная $option_info Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Option Image Change - Изменение картинки товара в зависимости от опции By sv2109, March 27, 2014 картинка изображение (and 6 more) Tagged with: картинка изображение рисунок товар опция опции изменить корзина 0 comments 42,789 views NPilgrim May 10, 2017 [Поддержка] Админка - сокрытие полей в карточке товара By chukcha, November 27, 2021 18 replies 743 views chukcha February 27 Как убрать в Ocstore 3 лишние поля при редактировании заказа By Fialka11, February 28 3 replies 216 views Fialka11 February 28 Сменить путь к logo , вручную не через админку с *jpg на *png ocstore 3.037 By kravas86, March 16 5 replies 178 views Allexg March 17 ocStore 2 Export/Import Tool (V3.7) добавление своих полей 1 2 By kolyabis, November 1, 2016 export import opencart 38 replies 11,951 views nikoshot December 16, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Услуги Программирование, создание модулей, изменение функциональности В админке поменять поле textarea в image в общем пункте опций OcStore 3 Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Language Folders in URL (for ocStore 3.x) By SergeTkach HPMrr for OC 2.3/3 By kJlukOo OpenGram | Your store in Telegram By kevdev PDF Рахунок-фактура - Видаткова накладна - Гарантія (Українська) PRO By Speaker12 SAP - SMS / OTP By S_A_P
Absens Posted March 25, 2021 Author Share Posted March 25, 2021 понял) язык один на сайте, поэтому языковое многообразие не учитывал. Хотя вряд ли конечно когда-нибудь будет дополнительный язык Link to comment Share on other sites More sharing options...
fanatic Posted March 25, 2021 Share Posted March 25, 2021 получилось? Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 25, 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Link to comment Share on other sites More sharing options... Absens Posted March 25, 2021 Author Share Posted March 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> Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 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[ Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 вставлять нужно после того как объявлена переменная $option_info Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Option Image Change - Изменение картинки товара в зависимости от опции By sv2109, March 27, 2014 картинка изображение (and 6 more) Tagged with: картинка изображение рисунок товар опция опции изменить корзина 0 comments 42,789 views NPilgrim May 10, 2017 [Поддержка] Админка - сокрытие полей в карточке товара By chukcha, November 27, 2021 18 replies 743 views chukcha February 27 Как убрать в Ocstore 3 лишние поля при редактировании заказа By Fialka11, February 28 3 replies 216 views Fialka11 February 28 Сменить путь к logo , вручную не через админку с *jpg на *png ocstore 3.037 By kravas86, March 16 5 replies 178 views Allexg March 17 ocStore 2 Export/Import Tool (V3.7) добавление своих полей 1 2 By kolyabis, November 1, 2016 export import opencart 38 replies 11,951 views nikoshot December 16, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Услуги Программирование, создание модулей, изменение функциональности В админке поменять поле textarea в image в общем пункте опций OcStore 3
Absens Posted March 25, 2021 Author Share Posted March 25, 2021 20 минут назад, fanatic сказал: получилось? сейчас попробую все правильно сделать Link to comment Share on other sites More sharing options...
Absens Posted March 25, 2021 Author Share Posted March 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> Link to comment Share on other sites More sharing options...
fanatic Posted March 25, 2021 Share Posted March 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[ Link to comment Share on other sites More sharing options... fanatic Posted March 25, 2021 Share Posted March 25, 2021 вставлять нужно после того как объявлена переменная $option_info Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Option Image Change - Изменение картинки товара в зависимости от опции By sv2109, March 27, 2014 картинка изображение (and 6 more) Tagged with: картинка изображение рисунок товар опция опции изменить корзина 0 comments 42,789 views NPilgrim May 10, 2017 [Поддержка] Админка - сокрытие полей в карточке товара By chukcha, November 27, 2021 18 replies 743 views chukcha February 27 Как убрать в Ocstore 3 лишние поля при редактировании заказа By Fialka11, February 28 3 replies 216 views Fialka11 February 28 Сменить путь к logo , вручную не через админку с *jpg на *png ocstore 3.037 By kravas86, March 16 5 replies 178 views Allexg March 17 ocStore 2 Export/Import Tool (V3.7) добавление своих полей 1 2 By kolyabis, November 1, 2016 export import opencart 38 replies 11,951 views nikoshot December 16, 2022 Recently Browsing 0 members No registered users viewing this page.
fanatic Posted March 25, 2021 Share Posted March 25, 2021 вставлять нужно после того как объявлена переменная $option_info Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3
Recommended Posts