Polskie wsparcie PrestaShop

PrestaShop => PrestaShop 1.6 => Wątek zaczęty przez: grany w Kwiecień 20, 2017, 01:43:17 pm

Tytuł: Wyświetlenie modułu po wybraniu opcji w atrybutach
Wiadomość wysłana przez: grany w Kwiecień 20, 2017, 01:43:17 pm
Witam,

Mam pewien problem, a mianowicie, wpadł mi do głowy pewien pomysł, ale jako laik w programowaniu nie wiem jak go wcielić w życie.

W sklepie mamy wybór koloru towaru i jego personalizacji (tekst),

atrybuty kolor: zółty, niebieski

Personalizacja jest jako radio z opcjami tak, nie, opcja Tak podnosi cene o x złotych.

Mam moduł, który pojawia się pod buttonem dodaj do koszyka i pozwala wpisać i zapisać tekst personalizacji.

Czy jest opcja, żeby ten moduł pojawiał się tylko po wybraniu Personalizacja "tak"?

Podejrzewam, że będzie potrzebny jakiś warunek, ale szczerze nie do końca ogarniam php i smarty.

Szukam tylko odpowiedniego {if} - jak wiadomo po zmianie atrybutu cena wzrasta, ten sam warunek mógłby być do wyświetlenia albo nie bloku z modułem, tylko gdzie go znaleźć?

Próbowałem {if $product->id_product_attribute == 18}  (atrybut tak ma id 18) ale nie działa nie ważne czy klikne tak czy nie

Pozdrawiam

Jakub
Tytuł: Odp: Wyświetlenie modułu po wybraniu opcji w atrybutach
Wiadomość wysłana przez: west w Kwiecień 20, 2017, 04:11:31 pm
Źle szukasz do pokazywania / ukrywania elementów strony służy Jquery - javascript. Poczytaj o funkcjach onclick np. Modyfikujesz plik product,js
Tytuł: Odp: Wyświetlenie modułu po wybraniu opcji w atrybutach
Wiadomość wysłana przez: grany w Kwiecień 21, 2017, 09:01:43 am
Adres strony z produktem i personalizacja:
http://supron1.pl/sklep/glowna/1-kominiarka-strazacka-eagle-fr-pro-pbi.html

Pod koszykiem jest moduł personalizacji. (customize)

Powiem szczerze, że z js mam jeszcze mniej do czynienia niż z php...
Pewnie gdzieś po tym kodzie, bo widzę jakieś funkcje zmieniające cenę, dostępność itp. po wybraniu kombinacji...

//update display of the availability of the product AND the prices of the product
function updateDisplay()
Tytuł: Odp: Wyświetlenie modułu po wybraniu opcji w atrybutach
Wiadomość wysłana przez: grany w Kwiecień 24, 2017, 10:22:13 am
Dostalem odpowiedź na innym forum.

W product.js po

$('#attributes select, #attributes input[type=hidden], ' + radio_inputs).each(function(){
choice.push(parseInt($(this).val()));
});
 

wklej:


    if(choice.indexOf(123) != -1) {
        $('#rsic').show();
    } else {
        $('#rsic').hide();
    }
123 to id atrybutu.
Tytuł: Odp: Wyświetlenie modułu po wybraniu opcji w atrybutach
Wiadomość wysłana przez: west w Kwiecień 24, 2017, 04:56:32 pm
Dzięki za rozwiązanie problemu. Mogę zamknąć wątek ?