wdrożenia PrestaShop

pole datepicker w AdminProducts

  • 7 Odpowiedzi
  • 2998 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
pole datepicker w AdminProducts
« dnia: Grudzień 28, 2012, 02:55:00 pm »
witam, kombinuje i malo mi to wychodzi ;) staram sie dorzucic (zmienic 'reference') do panelu wstawiania produktu pola. ktore wywolywalo by kalendarz, ma to byc data ostatecznej dostepnosci produktu (wycieczki). niestety... staram sie to zrobic na oryginalne wbudowanym datepikerze, ktory uzyty jest m.in. w polach promocji (od-do)

dodalem w okolicach mojego pola:
                include_once('functions.php');
includeDatepicker('reference');
otrzymuje zwrot z funcji:
<input id="reference" type="text" style="width: 130px; margin-right: 44px;" value="" name="reference" size="55"></input>

<script src="/presta/js/jquery/jquery-ui-1.8.10.custom.min.js" type="text/javascript"></script>
<script src="/presta/js/jquery/datepicker/ui/i18n/ui.datepicker-pl.js" type="text/javascript"></script>
<script type="text/javascript">
     
$(function() {
$("#reference").datepicker({
prevText:"",
nextText:"",
dateFormat:"yy-mm-dd"});
});
    </script>

 ale kalendarz jak sie nie chce pokazac tak nie chce ;/ czego jeszcze brakuje?
design4VIP z innej strony...

*

Offline mario

  • Mieszkaniec
  • *****
  • 640
  • 0
  • Płeć: Mężczyzna
Odp: pole datepicker w AdminProducts
« Odpowiedź #1 dnia: Grudzień 29, 2012, 08:20:54 am »
Jesli sie nie myle to biblioteka datepicker jest juz importowana w naglowku, wer 1.4
a w 1.5 masz juz je wszystkie zaimportowane, wiec po co drugi raz import?
zeby sie pogryzly?

z reki dopisz tylko funkcje do #reference

$(function() {
      $("#reference").datepicker(); albo dopisz do jakiejs juz istniejacej funkcji,

bez parametrow, one sa juz ustawione w ui.datepicker-pl.js
« Ostatnia zmiana: Grudzień 29, 2012, 09:19:31 am wysłana przez mario »
Integracja wf-mag presta
freelancer

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: pole datepicker w AdminProducts
« Odpowiedź #2 dnia: Grudzień 29, 2012, 10:06:03 am »
moja wersja to 1.4, zapomnialem dodac ;)

import tworzy sam 'includeDatepicker', to mam sciagniete z pola sp_from, czyli odpowiadajacego za cene (specialprice). parametry natomiast sa tworzone dla $time == true OR false. raz z godzinami, raz bez.

jednak czegos jeszcze nie ciagnie bo sp_from zachowuje sie calkiem inaczej. minowicie, nie wyswietla importow, funkcji itp tylko w momencie samego wersia w zakladke '3. Cena' przed </body>, ajko ostatni div wrzuca automatycznie DIV ui-datepicker, czyli kalendarz hidden, a w innych wypadkach go poprostu nie ma. musi miec to jakies powiazanie z vadilacja $specialprice, ale nigdzie nie moge sie tego doszukac ;/

i niestety, same dopisanie "z reki" tez nic nie daje :(

jakies inne pomysly? koncepcje?
design4VIP z innej strony...

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: pole datepicker w AdminProducts
« Odpowiedź #3 dnia: Grudzień 29, 2012, 11:02:14 am »
rzeczywiscie wystarczylo dopisac nowa, poprawiona funkcje za ta z function.php byla przystosowana dla pola od-do z godzinami. wystarczylo uzunac co nie potrzebne i wszystko ruszylo... dzieki za naprowadzenie bo wczoraj starcilem caly dzien ;)
design4VIP z innej strony...

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: pole datepicker w AdminProducts
« Odpowiedź #4 dnia: Grudzień 29, 2012, 07:23:47 pm »
z jednym sie uporalem (powyzej) to nie bede zakladal kolejnego watku bo tyczy sie w sumie tego samego.
teraz mam bardziej trywialne pytanie. napisalem sobie modulik, ktory po zbadaniu daty porownuje ja z dzisiejsza i jezeli jest ona mniejsza to zmienia status produktu na active=0.  wszystko dziala pieknie tylko mam jedno ale, bo umiescilem modul w hook header, czyli wywoluje sie za kazdym razem przy przejsciu do jakiejkolwiek strony (ot taki wysublimowany crone, bo brakuje go na serwerze zleceniodawcy ;]), przy 10-20 produktach to nie problem, gorzej jak tych produktow bedzie z 200-300. mysle, ze napewno spowolni to w jakies mierze preste. czy jest jakis hook, ktory wywoluje sie tyko raz z wejsciem Klienta na strone?
design4VIP z innej strony...

*

Offline mario

  • Mieszkaniec
  • *****
  • 640
  • 0
  • Płeć: Mężczyzna
Odp: pole datepicker w AdminProducts
« Odpowiedź #5 dnia: Grudzień 29, 2012, 09:59:14 pm »
nie ma
w kazdym razie nie trafilem na taki,
sprawa jest prosta
ustaw w configuration znacznik czasowy ot taki 2012-12-30 lub w innym formacie, np. timestamp
za kazdym razem sprawdzisz go z data bierzaca i zaleznosci od wyniku czynnosc sie wykona lub nie
znacznik bedziesz mial zawsze dostepny w obiekcie Configuration
po prawidlowym wykonaniu roboty zaktualizujesz znacznik do bierzacego.

alternatywnie mozesz wykonac zapytanie sql:
SELECT datediff( NOW( ) , c.`value` ) AS dc FROM ps_configuration c WHERE c.name = 'nazwa_twojego_znacznika';
lub nawet pojsc na latwizne i wykorzystac jakas juz istniejaca date w date_upd
« Ostatnia zmiana: Grudzień 29, 2012, 10:46:08 pm wysłana przez mario »
Integracja wf-mag presta
freelancer

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: pole datepicker w AdminProducts
« Odpowiedź #6 dnia: Grudzień 30, 2012, 02:08:59 pm »
ale badanie daty mam juz zrobione, tak jak pisalem, i pieknie dziala. tylko nie chcialem modyfikowac core wiec postawilem na modul i zrobilem to poprostu modulem bez .tpl i moje pytanie tyczy sie tylko tego, czy jest jakis hook, ktory nie wywolywalby sie przy kazdej zmianie strony przez Klienta. ale jak nie to pozostaje w header.

jakby ktos chcial skorzystac z takiego rozwiazania wylaczania produktu:
$products = Db::getInstance()->executeS('SELECT * FROM '._DB_PREFIX_.'product WHERE DATE(reference) < DATE(NOW()) AND active = 1 AND DATE(reference)>0000-00-00');

foreach ($products AS $product)
{

Db::getInstance()->Execute('
UPDATE '._DB_PREFIX_.'product SET active = 0 WHERE id_product = '.$product['id_product']);

}
pole 'reference' z poprzednich postow wykorzystwane jako pole daty oraz w bazie przestawione na pole 'data'
design4VIP z innej strony...

*

Offline mario

  • Mieszkaniec
  • *****
  • 640
  • 0
  • Płeć: Mężczyzna
Odp: pole datepicker w AdminProducts
« Odpowiedź #7 dnia: Grudzień 30, 2012, 02:39:04 pm »
Mysle, ze mnie nie zrozumiales
ja ci podaje sposob na sprawdzenie czy trzeba uruchamiac twoj skrypt
sprawdzasz znacznik, jesli sie rozni to uruchamia sie twoja funkcja i ustawiasz nowy znacznik
( Configuration::set('nazwa_twojego_znacznika', 'tu_data_wykonania_skryptu' );)
jesli sie nie rozni ( bo byl juz dzisiaj uruchamiany - wskazuje na to znacznik ) twoj skrypt sie nie uruchamia,
domyslam sie ze cezura czasowa jest tu dzien, a konkretniej jego data.
to taki ala cron, wogole nie obciazajacy systemu.

twoj skrypt uruchamia ci sie raz dziennie, a wywoluje to pierwsza osoba lub robot odwiedzajacy witryne danego dnia
« Ostatnia zmiana: Grudzień 30, 2012, 03:20:06 pm wysłana przez mario »
Integracja wf-mag presta
freelancer