Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Артикулы для опций


Recommended Posts

Вывел артикулы для опций. Но не получается теперь их отформатировать. Кусок опции из product.tpl:

<b><?php echo $option['name']; ?>:</b>
          
          <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 echo $option_value['o_sku']; ?>
            
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
            </option>
            <?php } ?>
          </select>

Задача в том, чтобы при выборе опции, артикул опции заменял опцию товара. Но столкнулся с тем, что "o_sku" даже класс не задать. Все из-за <option>, стирает все теги.

Кто знает выход из ситуации?

Надіслати
Поділитися на інших сайтах


Задача в том, чтобы при выборе опции, артикул опции заменял опцию товара.

что?.. :?

<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            
             <?php echo $option_value['o_sku']; ?>...
>>

<option data-super-puper-mego-sku="<?php echo $option_value['o_sku']; ?>" value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>...
+

google -> jquery get data-x attribute (или типа того, если нет понимания о том, что это и как).

+

jquery/javascript по вкусу

Надіслати
Поділитися на інших сайтах

Посмотрите этот модуль и сделайте по аналогии. Т.е., в самом товаре добавляем параметр sku и присваиваем ему id, должно получится примерно так:

<span id="formated_sku" sku="<?php echo $sku; ?>"><?php echo $sku; ?></span>

Далее, добавляем в тег <option> параметр sku:

sku="<?php echo $option_value['sku']; ?>"

И добавляем имение артикула в самом скрипте:

var sku = $('#formated_sku').attr('sku');
    
    $('.option input:checked,option:selected').each(function() {
       if ($(this).attr('sku') != '') {
        sku = $(this).attr('sku');
      }
    });
    $('#formated_sku').html(sku);
Змінено користувачем underline
Надіслати
Поділитися на інших сайтах

Спасибо за разъяснения. Но по моему вы тоже где-то опечатались)

sku - артикул товара

o_sku - артикул опции товара

 

Что у меня получилось:

1) Обернул обычный артикул

<span id="formated_sku" sku="<?php echo $sku; ?>"><?php echo $sku; ?></span>

2) <option> получился такой

<option sku="<?php echo $option_value['o_sku']; ?>" value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>

3) В autocalc_price_option_v2.0.18.xml после <script type="text/javascript"><!-- добавил

var sku = $('#formated_sku').attr('sku');
    
    $('.option input:checked,option:selected').each(function() {
       if ($(this).attr('sku') != '') {
        sku = $(this).attr('sku');
      }
    });
    $('#formated_sku').html(sku);

Кажется в скрипте надо где-то sku на o_sku поменять...

Такой вариант не завелся

Змінено користувачем megrel
Надіслати
Поділитися на інших сайтах


Решил проблему следующим образом:
1) Обернул обычный артикул

<span id="formated_sku" sku="<?php echo $sku; ?>"><?php echo $sku; ?></span>

2) Меняем <option>

<option data-sku="<?php echo $option_value['o_sku'];?> " value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>

3) В autocalc_price_option_v2.0.18.xml добавил

$('#formated_sku').html( $('select option').first().attr('data-sku') );
  
$('select').change(function(){ 
$(this).children('option:selected').each(function(){
    if( $(this).attr('data-sku') != "  " ){
    $('#formated_sku').html($(this).attr('data-sku')) 
     }else{
     $('#formated_sku').html( $('#formated_sku').attr('sku') );
     }
  })
})

Если кому пригодится данное решение, то артикулы для опций выводил на основе этого решения. Вывод на фронт допиливал сам.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.