Помощь Как реализовать модель в товарах

and1

Постоялец
Регистрация
24 Июл 2011
Сообщения
96
Реакции
14
Всем привет!
Такой вопрос: Есть магазин с чехлами для iphone и samsung (пока только 2 производителя). Есть модель чехла, при этом эта модель может подходить к нескольким телефонам, например iphone 4 iphone 5 iphone 5s и так далее.
Подскажите как реализовать дополнительное поле с выбором модели телефона или может есть модуль для этого?
Вот как выглядит товар сейчас:
f38569b2aa4f.jpg
 
извините если не правильно понял вопрос, но выбор модели можно реализовать через опции, удобство поиска можно организовать через вывод данного товара в соответствующей категории (чехлы для 4 айфон. чехлы для 5 айфон и т.д.) либо разместить фильтр который будет отбирать.
 
извините если не правильно понял вопрос, но выбор модели можно реализовать через опции, удобство поиска можно организовать через вывод данного товара в соответствующей категории (чехлы для 4 айфон. чехлы для 5 айфон и т.д.) либо разместить фильтр который будет отбирать.
Есть чехол, он для iphone, при этом он подходит для моделей 4 5 и т.д. Просто чтобы не звонить каждый раз и не узнавать под какую модель делать чехол, хотелось бы чтобы сразу можно было выбрать какая модель телефона. Опции глянуть, но что-то не совсем понял, что там надо сделать :( Можно поподробнее?
 
[QUOTE="and1, post: 2280330, member: 262499" Можно поподробнее?[/QUOTE]

В админке заходите в верхнем меню КАТАЛОГ---ОПЦИИ, добавляете опцию МОДЕЛЬ ТЕЛЕФОНА , добавляете все возможные модели телефонов. Далее при создании (редактировании) товара, переходите во вкладку ОПЦИИ, слева в поле ввода вводите название опции (как пример модель телефона) и выбираете в появившемся списке нужную опцию. Справа появится поле ввода опций. Необходимо ставите да. Дальше в поле ввыода опций выбираете опцию, колличество ставте 1000 и так добавляете все модели телефонов, к которым подходит данный чехол. Сохраняете и в карточке товара появится выпадающий список с выбором модели телефона. С вас лайк :)
 
  • Нравится
Реакции: and1
В админке заходите в верхнем меню КАТАЛОГ---ОПЦИИ, добавляете опцию МОДЕЛЬ ТЕЛЕФОНА , добавляете все возможные модели телефонов. Далее при создании (редактировании) товара, переходите во вкладку ОПЦИИ, слева в поле ввода вводите название опции (как пример модель телефона) и выбираете в появившемся списке нужную опцию. Справа появится поле ввода опций. Необходимо ставите да. Дальше в поле ввыода опций выбираете опцию, колличество ставте 1000 и так добавляете все модели телефонов, к которым подходит данный чехол. Сохраняете и в карточке товара появится выпадающий список с выбором модели телефона. С вас лайк :)
Сделал все получилось все работает круто и красиво. Вопрос номер 2 как сделать, чтобы в модуле Simple можно было менять модель эту из опций? Если такое вообще возможно....
 
Последнее редактирование:
Сделал все получилось все работает круто и красиво. Вопрос номер 2 как сделать, чтобы в модуле Simple можно было менять модель эту из опций? Если такое вообще возможно....

теоретически возможно, нужно колупать код. Ранее такого не делал, извините не помогу.
 
Да и практически не сложно, нашел код куда выводит данные:
product.php
Код:
$this->data['discounts'] = array();

       foreach ($discounts as $discount) {
         $this->data['discounts'][] = array(
           'quantity' => $discount['quantity'],
           'price'  => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
         );
       }

       $this->data['options'] = array();

       foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) {
         if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox' || $option['type'] == 'image') {
           $option_value_data = array();

           foreach ($option['option_value'] as $option_value) {
             if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
               if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
                 $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
               } else {
                 $price = false;
               }

               $option_value_data[] = array(
                 'product_option_value_id' => $option_value['product_option_value_id'],
                 'option_value_id'  => $option_value['option_value_id'],
                 'name'  => $option_value['name'],
                 'image'  => $this->model_tool_image->resize($option_value['image'], 50, 50),
                 'price'  => $price,
                 'price_prefix'  => $option_value['price_prefix']
               );
             }
           }

           $this->data['options'][] = array(
             'product_option_id' => $option['product_option_id'],
             'option_id'  => $option['option_id'],
             'name'  => $option['name'],
             'type'  => $option['type'],
             'option_value'  => $option_value_data,
             'required'  => $option['required']
           );          
         } elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') {
           $this->data['options'][] = array(
             'product_option_id' => $option['product_option_id'],
             'option_id'  => $option['option_id'],
             'name'  => $option['name'],
             'type'  => $option['type'],
             'option_value'  => $option['option_value'],
             'required'  => $option['required']
           );            
         }
       }
simplecheckout_cart.php
Код:
$option_data = array();

  foreach ($product['option'] as $option) {
  if ($option['type'] != 'file') {
  $value = $option['option_value'];  
  } else {
  $encryption = new Encryption($this->config->get('config_encryption'));
  $option_value = $encryption->decrypt($option['option_value']);
  $filename = substr($option_value, 0, strrpos($option_value, '.'));
  $value = $filename;
  }
  
  $option_data[] = array(
  'name'  => $option['name'],
  'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)
  );
  }
Не влезло в одно сообщение :(
 
product.tpl
Код:
<?php if ($options) { ?>
         <div class="options">
           <h2><?php echo $text_option; ?></h2>
           <?php foreach ($options as $option) { ?>
           <?php if ($option['type'] == 'select') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <select name="option[<?php echo $option['product_option_id']; ?>]">
               <option value=""><?php echo $text_select; ?></option>
               <?php foreach ($option['option_value'] as $option_value) { ?>
               <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
               <?php if ($option_value['price']) { ?>
               (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
               <?php } ?>
               </option>
               <?php } ?>
             </select>
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'radio') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option multi">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <div>
               <?php foreach ($option['option_value'] as $option_value) { ?>
               <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
               <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                 <?php if ($option_value['price']) { ?>
                 (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                 <?php } ?>
               </label>
               <br />
               <?php } ?>
             </div>
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'checkbox') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option multi">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <div>
               <?php foreach ($option['option_value'] as $option_value) { ?>
               <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
               <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                 <?php if ($option_value['price']) { ?>
                 (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                 <?php } ?>
               </label>
               <br />
               <?php } ?>
             </div>
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'image') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <table class="option-image">
               <?php foreach ($option['option_value'] as $option_value) { ?>
               <tr>
                 <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td>
                 <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td>
                 <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                     <?php if ($option_value['price']) { ?>
                     (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                     <?php } ?>
                   </label></td>
               </tr>
               <?php } ?>
             </table>
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'text') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" />
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'textarea') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option multi">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea>
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'file') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button">
             <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" />
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'date') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" />
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'datetime') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" />
           </div>
           <?php } ?>
           <?php if ($option['type'] == 'time') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
             <?php if ($option['required']) { ?>
             <span class="required">*</span>
             <?php } ?>
             <strong><?php echo $option['name']; ?>:</strong>
             <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" />
           </div>
           <?php } ?>
           <?php } ?>
         </div>
         <?php } ?>
simplecheckout_cart.tpl
Код:
<div class="options">
  <?php foreach ($product['option'] as $option) { ?>
  &nbsp;<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small><br />
  <?php } ?>
Но знаний пока не хватает, чтобы дописать. Может кто поможет. Файлы Для просмотра ссылки Войди или Зарегистрируйся. Заранее спасибо!
 
Назад
Сверху