Cześć wszystkim, być może jest ktoś kto mógłby mi co nieco podpowiedzieć. Nie ogarniam za bardzo JS, administruje sklep na platformie Shoper i mam problem z powielaniem się atrybutów. Są one przesyłane z programu ERP, poprzez połączenie go z API Shopera, natomiast do szablonu wstawia je poniższy kod JS:
$(document).ready(function(){
if($('.shop_product').length > 0){
var state = '';
$('.product-attributes tbody tr').each(function(index, item){
if($(item).find('.name').text() == "Stan produktu:"){
state = $(item).find('.value').text();
}
});
if(state == ''){
if($('#box_description #NOWY').length > 0){
$('.product-attributes tbody').append('<tr class="r--l-flex r--l-flex-wrap"><td class="name r--l-box-5 r--l-md-box-10 r--l-xs-box-10 mx">Stan produktu:</td><td class="value r--l-box-5 r--l-md-box-10 r--l-xs-box-10" style="border-bottom: 1px solid #f0f0f0;">Nowy</td></tr>');
$('.product-attributes tbody').append('<tr class="r--l-flex r--l-flex-wrap"><td class="name r--l-box-5 r--l-md-box-10 r--l-xs-box-10 mx">Gwarancja:</td><td class="value r--l-box-5 r--l-md-box-10 r--l-xs-box-10" style="border-bottom: 1px solid #f0f0f0;">2 lata</td></tr>');
$('.product-attributes tbody').append('<tr class="r--l-flex r--l-flex-wrap"><td class="name r--l-box-5 r--l-md-box-10 r--l-xs-box-10 mx">Dokument sprzedaży:</td><td class="value r--l-box-5 r--l-md-box-10 r--l-xs-box-10" style="border-bottom: 1px solid #f0f0f0;">Paragon lub faktura VAT</td></tr><meta itemprop="itemCondition" content="https://schema.org/NewCondition" />');
}
if($('#box_description #UŻYWANY').length > 0){
$('.product-attributes tbody').append('<tr class="r--l-flex r--l-flex-wrap"><td class="name r--l-box-5 r--l-md-box-10 r--l-xs-box-10 mx">Stan produktu:</td><td class="value r--l-box-5 r--l-md-box-10 r--l-xs-box-10" style="border-bottom: 1px solid #f0f0f0;">Używany</td></tr>');
$('.product-attributes tbody').append('<tr class="r--l-flex r--l-flex-wrap"><td class="name r--l-box-5 r--l-md-box-10 r--l-xs-box-10 mx">Gwarancja:</td><td class="value r--l-box-5 r--l-md-box-10 r--l-xs-box-10" style="border-bottom: 1px solid #f0f0f0;">30 dni</td></tr>');
$('.product-attributes tbody').append('<tr class="r--l-flex r--l-flex-wrap"><td class="name r--l-box-5 r--l-md-box-10 r--l-xs-box-10 mx">Dokument sprzedaży:</td><td class="value r--l-box-5 r--l-md-box-10 r--l-xs-box-10" style="border-bottom: 1px solid #f0f0f0;">Paragon lub faktura VAT marża</td></tr><meta itemprop="itemCondition" content="https://schema.org/UsedCondition" />');
}
}
}
});
Nie wiem dlaczego i co poprawić, żeby w momencie uzupełnienia dodatkowego atrybutu, funkcja JS nie dublowała powyższych - nr magazynowy wstawia się zawsze i kiedy nie są uzupełnione np. numery częsci lub numery oryginału to atrybuty "Stan produktu, Gwarancja oraz Dokument Sprzedaży" funkcja wstawia poprawnie tylko jeden raz
ale wystarczy że uzupełniony jest jakikolwiek dodatkowy atrybut, funkcja dubluje powyższe atrybuty
.
Jakieś pomysy? :) Będę wdzięczny za każdą wskazówkę. Jeśli potrzeba więcej informacji, piszcie.