Добрый день!
Как добавить запись: "Цена указана за 1 шт." над словами "товар есть в наличии", т.е. непосредственно под ценой (таким же шрифтом и размером, как слова "товар есть в наличии")?
1
Дополнительная Надпись Рядом С Ценой
Автор fortuna, 01 февр. 2011 18:08
Сообщений в теме: 4
#1
Отправлено 01 Февраль 2011 - 18:08
#2
Отправлено 04 Февраль 2011 - 13:17
fortuna (01 Февраль 2011 - 18:08) писал:
Добрый день!
Как добавить запись: "Цена указана за 1 шт." над словами "товар есть в наличии", т.е. непосредственно под ценой (таким же шрифтом и размером, как слова "товар есть в наличии")?
Как добавить запись: "Цена указана за 1 шт." над словами "товар есть в наличии", т.е. непосредственно под ценой (таким же шрифтом и размером, как слова "товар есть в наличии")?
Для этого достаточно будет изменить код шаблона товар через редактор тем с:
<!-- Доступность товара --> <div class="goodsDataMainModificationAvailable"> <div rel="true" class="available-true" {% IF GOODS_MOD_REST_VALUE=0 %}style="display:none;"{% ENDIF %}>Товар есть в наличии</div> <div rel="false" class="available-false" {% IF GOODS_MOD_REST_VALUE>0 %}style="display:none;"{% ENDIF %}>Товара нет в наличии</div> </div>
на
<!-- Единица измерения товара --> <div style="font-size:0.8em;"> Цена указана за 1 {GOODS_MOD_MEASURE_NAME} </div> <!-- Доступность товара --> <div class="goodsDataMainModificationAvailable"> <div rel="true" class="available-true" {% IF GOODS_MOD_REST_VALUE=0 %}style="display:none;"{% ENDIF %}>Товар есть в наличии</div> <div rel="false" class="available-false" {% IF GOODS_MOD_REST_VALUE>0 %}style="display:none;"{% ENDIF %}>Товара нет в наличии</div> </div>
#3
Отправлено 04 Февраль 2011 - 17:45
Спасибо!!! Все получилось с первого раза!
#4
Отправлено 10 Февраль 2011 - 12:31
Здравствуйте! А если один товар идет штучно, а другой весовой, как варьировать в единицах измерения и количестве?
#5
Отправлено 11 Февраль 2011 - 18:58
solden (10 Февраль 2011 - 12:31) писал:
Здравствуйте! А если один товар идет штучно, а другой весовой, как варьировать в единицах измерения и количестве?
В случае если речь идёт о модификациях то можно будет доработать вышеуказанный код с:
<!-- Единица измерения товара --> <div style="font-size:0.8em;"> Цена указана за 1 {GOODS_MOD_MEASURE_NAME} </div>
до
<!-- Единица измерения товара --> <div style="font-size:0.8em;" > Цена указана за 1 <span class="goodsDataMainModificationMeasureText">{GOODS_MOD_MEASURE_NAME}</span> </div>
И в файле main.js изменить функцию изменения модификаций с:
// Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(){ $(this).change(function(){ var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties), modificationBlock = $('.goodsDataMainModificationsList[rel="'+slug+'"]'), modificationId = parseInt(modificationBlock.find('[name="id"]').val()), modificationArtNumber = modificationBlock.find('[name="art_number"]').val(), modificationPriceNow = parseFloat(modificationBlock.find('[name="price_now"]').val()), modificationPriceNowFormated = modificationBlock.find('.price_now_formated').html(), modificationPriceOld = parseFloat(modificationBlock.find('[name="price_old"]').val()), modificationPriceOldFormated = modificationBlock.find('.price_old_formated').html(), modificationRestValue = parseFloat(modificationBlock.find('[name="rest_value"]').val()), modificationDescription = modificationBlock.find('.description').html(), modificationMeasureId = parseInt(modificationBlock.find('[name="measure_id"]').val()), modificationMeasureName = modificationBlock.find('[name="measure_name"]').val(), modificationMeasureDesc = modificationBlock.find('[name="measure_desc"]').val(), modificationMeasurePrecision = modificationBlock.find('[name="measure_precision"]').val(), modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(), goodsModificationId = $('.goodsDataMainModificationId'), goodsPriceNow = $('.goodsDataMainModificationPriceNow'), goodsPriceOld = $('.goodsDataMainModificationPriceOld'), goodsAvailable = $('.goodsDataMainModificationAvailable'), goodsAvailableTrue = goodsAvailable.find('.available-true'), goodsAvailableFalse = goodsAvailable.find('.available-false'), goodsArtNumberBlock = $('.goodsDataMainModificationArtNumber'), goodsArtNumber = goodsArtNumberBlock.find('span'); goodsCompareAddButton = $('.goodsDataCompareButton.add'); goodsCompareDeleteButton = $('.goodsDataCompareButton.delete'); goodsModDescriptionBlock = $('.goodsDataMainModificationsDescriptionBlock'); // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация if(modificationBlock.length) { // Цена товара goodsPriceNow.html(modificationPriceNowFormated); // Старая цена товара if(modificationPriceOld>modificationPriceNow) { goodsPriceOld.html(modificationPriceOldFormated); } else { goodsPriceOld.html(''); } // Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); } // Если товар есть в списке сравнения if(modificationIsHasInCompareList>0) { goodsCompareAddButton.hide(); goodsCompareDeleteButton.show(); // Если товара нет в списке сравнения } else { goodsCompareAddButton.show(); goodsCompareDeleteButton.hide(); } // Покажем артикул модификации товара, если он указан if(modificationArtNumber.length>0) { goodsArtNumberBlock.show(); goodsArtNumber.html(modificationArtNumber); // Скроем артикул модификации товара, если он не указан } else { goodsArtNumberBlock.hide(); goodsArtNumber.html(''); } // Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет if(modificationDescription.length > 0) { goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>'); } else { goodsModDescriptionBlock.hide().html(); } // Идентификатор товарной модификации goodsModificationId.val(modificationId); window.location.hash = '?modification='+modificationId; } else { // Отправим запись об ошибке на сервер sendError('no modification by slug '+slug); alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } }); });
на:
// Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(){ $(this).change(function(){ var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties), modificationBlock = $('.goodsDataMainModificationsList[rel="'+slug+'"]'), modificationId = parseInt(modificationBlock.find('[name="id"]').val()), modificationArtNumber = modificationBlock.find('[name="art_number"]').val(), modificationPriceNow = parseFloat(modificationBlock.find('[name="price_now"]').val()), modificationPriceNowFormated = modificationBlock.find('.price_now_formated').html(), modificationPriceOld = parseFloat(modificationBlock.find('[name="price_old"]').val()), modificationPriceOldFormated = modificationBlock.find('.price_old_formated').html(), modificationRestValue = parseFloat(modificationBlock.find('[name="rest_value"]').val()), modificationDescription = modificationBlock.find('.description').html(), modificationMeasureId = parseInt(modificationBlock.find('[name="measure_id"]').val()), modificationMeasureName = modificationBlock.find('[name="measure_name"]').val(), modificationMeasureDesc = modificationBlock.find('[name="measure_desc"]').val(), modificationMeasurePrecision = modificationBlock.find('[name="measure_precision"]').val(), modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(), goodsModificationId = $('.goodsDataMainModificationId'), goodsPriceNow = $('.goodsDataMainModificationPriceNow'), goodsPriceOld = $('.goodsDataMainModificationPriceOld'), goodsAvailable = $('.goodsDataMainModificationAvailable'), goodsAvailableTrue = goodsAvailable.find('.available-true'), goodsAvailableFalse = goodsAvailable.find('.available-false'), goodsMeasureText = $('.goodsDataMainModificationMeasureText'), goodsArtNumberBlock = $('.goodsDataMainModificationArtNumber'), goodsArtNumber = goodsArtNumberBlock.find('span'); goodsCompareAddButton = $('.goodsDataCompareButton.add'); goodsCompareDeleteButton = $('.goodsDataCompareButton.delete'); goodsModDescriptionBlock = $('.goodsDataMainModificationsDescriptionBlock'); // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация if(modificationBlock.length) { // Цена товара goodsPriceNow.html(modificationPriceNowFormated); // Старая цена товара if(modificationPriceOld>modificationPriceNow) { goodsPriceOld.html(modificationPriceOldFormated); } else { goodsPriceOld.html(''); } // Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); } // Если товар есть в списке сравнения if(modificationIsHasInCompareList>0) { goodsCompareAddButton.hide(); goodsCompareDeleteButton.show(); // Если товара нет в списке сравнения } else { goodsCompareAddButton.show(); goodsCompareDeleteButton.hide(); } // Покажем артикул модификации товара, если он указан if(modificationArtNumber.length>0) { goodsArtNumberBlock.show(); goodsArtNumber.html(modificationArtNumber); // Скроем артикул модификации товара, если он не указан } else { goodsArtNumberBlock.hide(); goodsArtNumber.html(''); } // Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет if(modificationDescription.length > 0) { goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>'); } else { goodsModDescriptionBlock.hide().html(); } // Изменяем единицу измерения модификации goodsMeasureText.html(modificationMeasureName); // Идентификатор товарной модификации goodsModificationId.val(modificationId); window.location.hash = '?modification='+modificationId; } else { // Отправим запись об ошибке на сервер sendError('no modification by slug '+slug); alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } }); });
Собственно в main.js я лишь добавил определение текста модификации:
goodsMeasureText = $('.goodsDataMainModificationMeasureText'),
и его изменение на то которое стоит у модификации:
// Изменяем единицу измерения модификации goodsMeasureText.html(modificationMeasureName);
После этих манипуляций будет изменяться и единица измерения товара в случае если для модификации товара они различны.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных