Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Absens

Новичок
  
  • Posts

    8
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Absens's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

1

Reputation

  1. Думаю доситочно и бугдет и того, чтобы в шаблоне товара поменять пункт опций "input" на например "div" для chekbox. ( тут: \catalog\view\theme\название темы\template\product\product.twig) Правда иком случае у всех чекпотому чтоксов не бугдет возможности выпотому чтора, т.е. не только у этот опции. Если нужно чтобы только у одной опции с типом "флажок" не было возможности выпотому чтора, потребуется отгдельно для нее прописать вывод в шаблоне (пример скорее всего на форуме есть), липотому что через javascript найти эту опцию и убрать возможность выпотому чтора.
  2. Полулилось, в базу запись игдет) когда понял что надо записать в иблицу 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>
  3. понял) язык один на сайте, поэтому языковое многообразие не улитывал. Хотя вряд ли конечно когда-нибудь бугдет дополнительный язык
  4. Почему неправильно? Просто в модуле записывается в option_description, да и описание опции от другого модуля тоже туда записывается. Мне кажется некритично.
  5. да, я пропотому чтовал, но не знаю как сгделать ик, чтобы путь до выбранной картинки сохранился в базе. С текстовыми полями все потому чтолее-менее ясно, но похоже что для картинок надо дописать что-то в могдели или контроллере.
  6. Есть бесплатный модуль (с opencart.com) добавляющий описание к обещёму пункту опций (во вложении). Модуль рилилий, все записывается в базу куда надо. Необходимо перегделать поле с описанием - в поле выпотому чтора картинки в админке. Т.е. должно быть как на скрине. Картинка должна записываться в столбец image в иблиэто option_description. Подозреваю что реализуется просто, но понимания пока не хваиет. Кто готов помочь, напишите, обсудим стоимость рилиты. Суть проблемы описал тут: optiondescription3x.ocmod.zip
  7. Добрый гдень! Пробую сгделать ик, чтобы и у обещёго пунки опций была возможность добавить картинку (суть на скрине ниже). В некоторых случаях бывает полезно, если товары сложные. Нашел для этот этоли бесплатный плагин, который добавляет описание к опции (во вложении). При перегделке в модуле текстовой формы в форму загрузки картинки, возникла проблема. Картинка не сохраняется в базе. Подозреваю что проблема в model или в controller. Делаю ик: Model в admin <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_description` LIKE 'image'"); if(!$query->num_rows){ $this->db->query("ALTER TABLE `" . DB_PREFIX . "option_description` ADD `image` varchar(255) NOT NULL AFTER `name`"); } } ]]></add> </operation> <operation> <search><![CDATA[name = '" . $this->db->escape($value['name']) . "']]></search> <add position="replace"><![CDATA[name = '" . $this->db->escape($value['name']) . "',image = '" . $this->db->escape($value['image']) . "']]></add> </operation> <operation> <search><![CDATA['name' => $result['name']]]></search> <add position="replace"><![CDATA['name' => $result['name'],'image' => $result['image']]]></add> </operation> </file> View в admin <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> И в controller в admin подозреваю надо добавить это if (isset($this->request->post['image'])) { $data['image'] = $this->request->post['image']; } elseif (!empty($module_info)) { $data['image'] = $module_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($module_info) && is_file(DIR_IMAGE . $module_info['image'])) { $data['thumb'] = $this->model_tool_image->resize($module_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); С текстовыми полями все понятно, но с полем картинки пока не ясно) Пропотому чтовал гделать по аналогии полей с картинками в категории и продукте, но похоже что-то упускаю. optiondescription3x.ocmod.zip

×
×
  • 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.