Jump to content
  • 0

Wyciągnięcie informacji o zaznaczeniu checkboxa podczas zakupów


MirekSz

Question

"Odziedziczyłem"* po koledze sklep, który został założony na potrzeby pewnej konferencji. Uczestnicy kupowali "produkty", jakimi były wejściówki na tę konferencję i wszystko pięknie grało. 

Niestety, jak się okazało, podczas zakupów kupujący wypełniali dodatkowe pola, które rzeczony kolega jakoś umieścił w szablonie. Piszę "jakoś", ale podejrzewam, że po prostu dopisał linijki kodu do odpowiedniego pliku (nie widzę, żeby zainstalowany był dodatkowy moduł, który za takie zmiany by odpowiadał). 
Pola te znajdują się w "Additional information and terms of service", pod wyborem opcji dostawy. 
Jednym z tych pól był opcjonalny checkbox ("Czy jesteś zainteresowany wycieczką..."), kolejnym (równie opcjonalne) miejsce do wpisania krótkiego tekstu przez użytkownika. 

Obecnie, moim bojowym zadaniem jest zrobienie wykazu tych, którzy zaznaczyli ten checkbox wyrażając chęć uczestnictwa w wycieczce, zrobienie oraz wykazu informacji, które wpisali we wspomnianym polu. Problem jest taki, że zupełnie nie wiem, gdzie tych informacji szukać. 
W panelu administracyjnym, w katalogu "Orders", owszem, mogę sobie poczytać, co ciekawego klienci zamówili podglądając każde z tych zamówień, ale brak jest właśnie tych dwóch informacji. 

Czy może orientujecie się, skąd je można wyciągnąć? Jeśli na serwerze są pliki, gdzie przechowywane są dane każdego z zamówień, włącznie z zawartością tych dwóch nieszczęsnych pól, to gdzie je można znaleźć i czy się da je bezboleśnie podejrzeć? 

Z góry serdecznie dziękuję i przepraszam za - zapewne - dość mętne wynurzenia. 

-- 
* Kwestia owego "odziedziczenia" jest o tyle istotna, że po prostu nie wiem do końca, co kolega robił i jak doszedł do pewnych rozwiązań, więc mogę tylko gdybać. 

post-1432624-0-53527900-1503313856_thumb.png

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Prawdopodobnie to pole to "optin", czyli "Zgoda na wysyłanie oferty wysyłkowej" lub "Zapisz się" ewentualnie w wersji 1.7 "Oferty partnerskie".

Wchodząc w użytkowników (klientów) odfiltrujesz śmiało. Pewność miał bym gdybyś udostępnił link do formularza.

Dziękuję; znalazłem, że za to, iż te dwa cuda pojawiają się w formularzu, odpowiadają dwa dodatkowe wpisy w /themes/default/order-carrier.tpl (podejrzewam, że po prostu brutalnie tam wklepane/wklejone):

 

Checkbox:

 

<div class="box">
<p class="checkbox">
<input type="checkbox" name="see" id="see" value="1" {if $checkedTOS}checked="checked"{/if} />
<label for="cgv">{l s=' I am interested in Warsaw sightseeing tour (Mon. 25.09.2017 evening).'}</label>
 </p>
 </div>

Pole do wpisania numeru:

 

<p class="carrier_title">{l s='IWA membership number'}</p>
<div>
<p>{l s='For IWA members'}</p>
<textarea class="form-control" cols="20" rows="1" name="message" id="message">{strip}
{if isset($oldMessage)}{$oldMessage|escape:'html':'UTF-8'}{/if}
{/strip}</textarea>
</div>

I tyle, więcej zmian nie widzę. 

 

Ten cały sklep jest tutaj, ale żeby dopchać się do tego miejsca o którym wspominam trzeba się zarejestrować, a nie chciałbym aż tak fatygować: http://iwa.is.pw.edu.pl/index.php

Link to comment
Share on other sites

  • 0

Samo pole nazywa się "see" trzeba by było zobaczyć w bazie, czy w tabeli ps_customer nie ma takiego pola. Jeżeli nie masz bezpośrednio dostępu do phpmyadmin'a możesz to zrobić w sql manager na zapleczu. 

Jeżeli jest tak to wpisując zapytanie:

SELECT * FROM ps_customer WHERE see = 1

Powinni wyskoczyć klienci, którzy zaznaczyli to pole.

Link to comment
Share on other sites

  • 0

Dzięki - po wklepaniu zapytania do sql manager marudzi, że artybut "see" nie istnieje w ps_customer (i, faktycznie, nie ma go tam).
Może poszukam, czy w którymś ps_... takowy się pojawia? Przynajmniej wiem już, czego szukać...

Link to comment
Share on other sites

  • 0

Pierwszy checkbox wygląda na przerobiony input "cgv" czyli warunki korzystania z usługi, bo jest w nim warunek {if $checkedTOS}.

Ale jeśli zmieniono tylko name na "see" to ta informacja szła w powietrze, a nie do bazy.

A textarea "message" jest to standardowa wiadomość do zamówienia tabela PREFIX_customer_message.

Link to comment
Share on other sites

  • 0

Tak, to chyba po prostu kopiuj/wklej kodu "cgv" z podmienioną nazwą na "see". I to też nie wszędzie, bo się ostał <label for=:"cgv">.

<label for="cgv">{l s=' I am interested in Warsaw sightseeing tour (Mon. 25.09.2017 evening).'}</label>

Wychodzi na to, że chyba faktycznie ta informacja poszła w kosmos... :/ 
Ta druga też. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...