Skocz do zawartości

pawelo

Members
  • Zawartość

    20
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez pawelo

  1. Witam! Próbuję utworzyć nowe zamówienie w sklepie poprzez Prestashop API. W tym celu tworzę obiekty: - Customer - Address - Cart i ostatecznie - Order, łącząc je między sobą poprzez ID'ki Problem mam taki że nie mogę utworzyć zamówienia bez jednoczesnego utworzenia obiektu "order_payments" co powoduje że nowe zamówienie tworzy się w sklepie ale ma od razu przypisaną płatność. Nie mogę też ustawić statusu zamówienia na taki jaki chcę, ten ustawia się automatycznie na "Płatność zaakceptowana" lub "błąd płatności" jeśli w parametrach do API przekażę błędną kwotę. Czym to jest spowodowane i czy można utworzyć nowe zamówienie bez generowania mu automatycznie wpisu o płatności? Tak wygląda XML, którym się posługuje: <order> <id/> <id_address_delivery>x</id_address_delivery> <id_address_invoice>x</id_address_invoice> <id_cart>x</id_cart> <id_currency>x</id_currency> <id_lang>x</id_lang> <id_customer>x</id_customer> <id_carrier>x</id_carrier> <current_state>11</current_state> (oczekiwanie na płatność) <module>paypal</module> <invoice_number/> <invoice_date/> <delivery_number/> <delivery_date/> <valid/> <date_add/> <date_upd/> <shipping_number/> <id_shop_group/> <id_shop/> <secure_key/> <payment>PayPal</payment> <recyclable/> <gift/> <gift_message/> <mobile_theme/> <total_discounts/> <total_discounts_tax_incl/> <total_discounts_tax_excl/> <total_paid>0</total_paid> <total_paid_tax_incl/> <total_paid_tax_excl/> <total_paid_real>0</total_paid_real> <total_products>0</total_products> <total_products_wt>0</total_products_wt> <total_shipping/> <total_shipping_tax_incl/> <total_shipping_tax_excl/> <carrier_tax_rate/> <total_wrapping/> <total_wrapping_tax_incl/> <total_wrapping_tax_excl/> <round_mode/> <conversion_rate>4.043200</conversion_rate> <reference/></order>
  2. Prestashop webservice

    Witam, ostatnio próbuje stworzyć nowego klienta w sklepie poprzez Prestashop API. Korzystam z biblioteki PSWebServiceLibrary.php i kiedy w sklepie mam ustawioną opcję define('_PS_MODE_DEV_', false); to przy próbie utworzenia nowego klienta API sklepu zwraca błąd ze statusem HTTP 500: "This call to PrestaShop Web Services failed and returned an HTTP status of 500. That means: Internal Server Error." - przy czym klient tworzy się w bazie sklepu normalnie. Kiedy ustawię opcję define('_PS_MODE_DEV_', true); wszystko działa pięknie a API sklepu nagle zwraca status HTTP 200 żadnego info o błędzie. Czy ktoś wie z czego to może wynikać. Na google wszędzie znajduje informację że jak pojawia się HTTP 500 to włącz pokazywanie błędów PHP i zobacz co się pojawia. Tymczasem jak wyświetlanie błędów jest włączone to wszystko śmiga a jak jest wyłączone to już nie, zupełnie na odwrót. ??
  3. Witam! Ostatnio próbuję aktualizacji sklepu z wersji 1.5.3 na 1.5.4. Czytam na oficjalnych stronach presty że sugerują używać do tego celu ich modułu o nazwę 1-Click Upgrade i tak też robię. Sporo ludzi pisze że wszystko u nich idzie ładnie i moduł działa u mnie pojawiają się ciągle problemy. Generalnie są to alerty typu: error copying ... Jak ustawię prawa zapisu dla wskazanego pliku na 0777 to jest ok i error pojawia się na kolejnym i kolejnym pliku. W ustawieniach przed aktualizacją jest informacja że "Your store root directory must be writeable (appropriate CHMOD permissions)", gdzie ustawiłem dla katalogu root chmod na 777 i mam przy tym punkcie zielonego ptaszka że jest ok. Jak to jest z tymi prawami zapisu czy dla tego modułu i procesu aktualizacji muszę prawie wszystkim plikom nadać chmod 0777?
  4. Witam, Pracuję ostatnio przy imporcie atrybutów do produktów w presta 1.5. Sprawa polega na tym by zmodyfikować wartość np., ceny i ilości dla danego atrybutu produktu i zaimportować to do sklepu. Export danych zrobiłem, modyfikacje wprowadziłem i przy imporcie mam problem. Importer odszukuje podany przez ID produkt i dodaje do niego po prostu kolejne atrybuty zamiast zaktualizować te już istniejące. Efekt jest taki że jak zrobiłbym export atrybutów a następnie import tych samych danych bez żadnych zmian to system zdubluje atrybuty przy produktach dopisując na nowo wszystkie. Chciałbym osiągnąć efekt jaki jest przy imporcie produktów, tam jest tak że jak system znajdzie produkt po ID to zaktualizuje jego pola np. cenę, zamiast tworzyć nowy produkt z podaną ceną. Nowy produkt zostanie utworzony przez system dopiero w chwili gdy nie znajdzie już istniejącego. Taki efekt chciałbym mieć też przy imporcie atrybutów produktu. Czy da się to zrobić? może podaje jakieś błedne ustawienia przy imporcie, albo błędnie ustawiam kolumny do importu. Ktokolwiek wie coś na ten temat?
  5. Witam! Do płatności używam modułu przelewy24, jest pobrany ze strony przelew24.pl. Problem jest taki że o ile w normalnym trybie działa to ok, to w wersji mobile (dla szablonu mobilnego) błędnie ładuje się strona z potwierdzeniem zamówienia (z niej następuje przekierowanie do serwisu przelewy24). Chodzi o to że szablon mobilny ma swoje osobne pliki .tpl, i tam też ma swoje header.tpl i footer.tpl. Natomiast wspomniana wyżej strona ładuje się z plikami header i footer zaciąganymi z normalnego widoku przeglądarkowego (themes/theme_name/header.tpl zamiast themes/theme_name/mobile/header.tpl). Nie wiem gdzie leży przyczyna i jak to ewentualnie poprawić. Ewentualnie może ktoś wie w którym miejscu podejmowana jest decyzja o tym który szablon normalny/mobilny będzie ładowany... Pozdrawiam
  6. Przelewy24 i prestashop 1.5 mobile

    Jeszcze w roli domknięcia tematu. Ostatecznie rozwiązałem problem przy użyciu obu modułów, tj. przelewy24 dla normalnego them'u dla urządzeń stacjonarnych. Natomiast PayPal użyłem tylko dla urządzeń mobilnych. Połowiczne rozwiązanie ale zawsze jakieś. Dla tych którzy szukają, jak rozpoznać czy wyświetlona zostanie wersja mobilna czy stacjonarna sklepu, można użyć kodu: public function useMobile() { if ((method_exists($this->context, 'getMobileDevice') && $this->context->getMobileDevice()) || Tools::getValue('ps_mobile_site')) return true; return false; } następnie: $use_mobile = $this->useMobile(); if ($use_mobile) "Do something";
  7. Przelewy24 i prestashop 1.5 mobile

    No tak, to ma sens! Myślałem jednak że da się to jakoś "w miarę łatwo" przerobić również ma moduł płatności24, zwłaszcza że tam sprawa rozbija się chyba tylko o poprawne wyświetlenie zawartości strony... Dzięki za info, pozdrawiam.
  8. Templatki, Szablony pod Tablety

    Używam ostatnio motywu pod tablety przygotowanego przez developerówPresty, mowa o wspomnianym wyżej http://addons.prestashop.com/en/front-o ... te-14.html Mam problem z funkcjonowaniem obsługi zamówienia, kiedy mam włączoną możliwość robienia zakupów jako gość (bez rejestracji), jak w wersji mobilnej uzyskać widok do podania się jako gość pomijając konieczność zakładania normalnego konta w sklepie i logowania się?
  9. Witam!! Gdzie znajdę kod źródłowy od tabelki kategorie ( "konkretnie kategorie strony głównej" ) - widocznej po wejściu do zakładki "Katalog"?
  10. Layout Edycji Kategorii

    Nikt z kolegów nie wie gdzie znajduje się kod źródłowy? Poszukuje jedynie pliku w którym mógłbym zmienić inlineowe style tabelki. Napiszę dokładniej o co chodzi. Po wejściu do zakładki Katalog w backoffice sklepu, wyświetlają się dwie tabele. Jedna prezentuje podkategorie dodane do kategorii głównej, druga prezentuje produkty dodane do kategorii głównej. Ta pierwsza tabela posiada w kolumnie opis na sztywno ustawioną szerokość na 500px (input od filtracji tak ma), to powoduje że przy zbyt długiej nazwie (kolumna obok opisu) tabela rozciąga się i wychodzi poza layout strony. Chciałem usunąć tą zadeklarowaną szerkość 500px. Niestety nigdzie nie mogę odnaleźć kodu od tego. W pliku adminCatalog.php brakuje tego, a templatek od zakłądek BO raczej nie ma w systemie? Ktokolwiek wie?
  11. Witam.... Poszukuję rozwiązania podobnego do zakresów cenowych i zakresów wagowych, które to domyślnie są do wybrania przy definicji danego przewoźnika. Mi zależy by cena zmieniała się nie w zależności od wagi lub ceny lecz w zależności od gabarytu paczki. Da się dodać jakoś trzecią opcję "zakresy Gabarytowe"? Jeśli nie to jak można rozwiązać taki problem?
  12. Witam, Tworząc kombinację atrybutów, można ustawić by przy zmianie atrybutu zmieniał się kod produktu, nr referencyjny EAN13 itp, chciałbym dorobić do tego zmianę opisu produktu, analogicznie jak dotychczasowe pola. Potrzebował bym w tym celu dodać do formularza pole na treść opisu i pewnie zmodyfikować kod js tak by przy zmianie atrybutu zmieniał oprócz zdjęcia, kodu produktu tip. również opis produktu. Jak się do tego zabrać? które piliki należało by edytować? czy to jest generalnie w miarę proste do zrobienia?
  13. Opis w kombinacja atrybutów produktu

    Faktycznie sporo z tym zachodu, chyba zbyt sporo... Żeby mocno uprościć modyfikację przerobiłem dla produktu w zakładce kombinacje atrybutów, pole lokalizacja (które jest obok numeru referencyjnego) na textarea i zmieniłem mu nazwę na "opis" . I po paru poprawkach w plikach treści z tego pola używam do zmiany opisu produktu wraz ze zmianą atrybutu. Nurtuje mnie tylko jedno ważne pytanie, czy to pole "lokalizacja" (w zakładce info produktu opisane jako "lokalizacja (magazyn)") jest/było do czegoś istotnego potrzebne? Czy wpisując w nie treść odpowiadającą opisowi produktu nie popsułem czegoś? Głównie chodzi o to czy nie padnie od tego jakiś mechanizm presty lub czy jest gdzieś miejsce w sklepie gdzie klientowi robiącemu zakupy wyświetlę teraz błędną informację?
  14. Opis w kombinacja atrybutów produktu

    I jeśli wiesz oczywiście, gdzie mniej więcej znajduje się kod js, który wywołuje się przy zdarzeniu .change dla selecta z atrybutami (i zmienia np. fotkę produktu i ilość dostepnych produktów z danym atrybutem)
  15. Opis w kombinacja atrybutów produktu

    Chodzi o zmianę opisu tak samo ja zmienia się zdjęcie przy zmianie atrybutu, czy mógłbyś podać ścieżki do pliku .php który zawiera kod formularza widocznego w BO w edycji produktu w zakładce kombinacje atrybutów. Jestem dość początkujący i słabo odnajduję się jeszcze gdzie co jest?
  16. Witam,Pytanie odnośnie, defaultowo zintegrowanego z prestą (1.4 pl) modułu, płatności.pl. Po podaniu w konfiguracji rzekomo prawidłowych id'ków i kluczy, moduł nie działa poprawnie i wyrzuca się błąd (już, na stronie płatności.pl) 209 odnośnie błędu autoryzacji o ile dobrze się orientuję.Czy ktoś spotkał się z tym problemem? To jest wina modułu, czy może id'ków i kluczy. Może zamieszanie powoduje przejście serwisu z szyldu płatności.pl na PayU.Powiem że na id'kach podanych w konfiguracji działa mi inny (trochę kulawy) moduł który łączy się przez nowsze API z PayU, natomiast defaultowy płatności.pl, wyrzuca wspomniany błąd.
  17. Witam!!!Chciałbym zmodyfikować formularz dodawania/edycji kategorii. Chciałbym dodać dodatkowe pole na wartość lub opcjonalnie selecta. Nie wiem jednak gdzie znajduje się kod źródłowy owego formularza i jak to zrobić poprawnie. Sprawa się różni od typowych modułów znajdujących się w katalogu modules gdzie w pliku .php danego modułu możemy znaleźć metodę getContent() w której jako return podajemy string zawierający htmlowy formularz. Całość jest widoczna w konfiguracji modułu w backoffice sklepu. Wartości podanych pól można w najprostszy sposób zapisać poprzez metodę Configuration::updateValue('nazwa_pola', 'wartosc');Jak to zrobić w przypadku formularza kategorii?
  18. Modyfikacja modułu kategorii

    Posiedziałem nad tematem jeszcze chwilę, znalazłem źródło problemu.Dla zainteresowanych,Wartość selecta nie zapisywała się ponieważ, błędnie lub wcale nie była odczytywana wartość $obj->id (jako rozszerzenie nazwy zmiennej), przekazywana do (w metodzie postProcess, klasy AdminCategories):Configuration::updateValue('LAY_ID_'.$obj->id, $lay_id);Moja poprawka: public function postProcess($token = NULL) { if (Tools::isSubmit('SubmitCategoryLay')) { if (!($obj = $this->loadObject(true))) return; $lay_id = (int)(Tools::getValue('lay_id')); if (!$lay_id OR $lay_id <= 0 OR !Validate::isInt($lay_id) ) $errors[] = $this->l('Invalid number'); else Configuration::updateValue('LAYID'.$obj->id, (int)($lay_id)); }Do tego dodałem osobny formularz w widoku edycji kategorii: '.$this->l('Rodzaj Kategorii').' '.$this->l('Typ Kategorii:').' --- none ---id))) == 1 ? 'selected="selected"' : '' ).' >nazwa 1id))) == 2 ? 'selected="selected"' : '' ).' >nazwa 2'.'LAYID'.$obj->id.' '.(int)(Configuration::get('LAYID'.$obj->id)).' Oczywiście nie trzeba tworzyć dwóch osobnych formularzy do tego celu, można wszystkie pola umieścić w jednym. Pozdrawiam, temat można zamknąć
  19. Modyfikacja modułu kategorii

    co prawda samo var_dump() nie daje podglądu wartości zmiennej bo po zapisie następuje przekierowanie na widok kategorii lub na listę kategorii nadrzędnych. Ale sprawdzałem i wydaje się że zmienna zawiera w chwili zapisu prawidłowe wartości tj, "1" lub "2". Nie, wiem co jest nie tak. Może próbuje zapisać wartość w złym miejscu? może kwestia jakiś uprawnień? nie wiem nic nie przychodzi mi do głowy.Jeśli nie chce działać w tą stronę to może jest jakiś inny prosty sposób na osiągnięcie tego samego rezultatu. Chodzi o to by po za podawaniem standardowych danych przy tworzeniu/edycji kategorii, user mógł określić jakby typ kategorii lub nadać jej jedną dowolną flagę z pewnej puli. Tak bym potem mógł przypisać dla kategorii oddzielne layouty, na razie jestem w stanie robić to tylko przy pomocy {if id_kategorii == ... } ale to bardzo bardzo nieelastyczne rozwiązanie.
  20. Modyfikacja modułu kategorii

    Czy może ktoś wie jak spisać wartość dodatkowego pola? mam z tym problem...Do pliku AdminCategories.php, dorzucam do struktury formularza, następujące pole:'.$this->l('Typ Kategorii:').' getFieldValue($obj, 'lay_id') == 1 ? 'selected="selected"' : '' ).' >Lista przedmiotowgetFieldValue($obj, 'lay_id') == 2 ? 'selected="selected"' : '' ).' >Lista kateogrii'.(int)(Configuration::get('LAY_ID_'.$obj->id)).' '.($this->getFieldValue($obj, 'lay_id').' Sam zapis robiłem poprzez:public function postProcess($token = NULL){ global $cookie, $currentIndex; $this->tabAccess = Profile::getProfileAccess($cookie->profile, $this->id); if (Tools::isSubmit('submitAdd'.$this->table)) { $lay_id = (int)(Tools::getValue('lay_id')); Configuration::updateValue('LAY_ID_'.$obj->id, $lay_id);Niestety wartość nie zapisuje się, po ponownym wejściu do edycji kategorii w kontrolnym spanie dostaje wartości 0 i empty.Pytanie co trzeba zrobić by zapisać wartość z nowo dodanego selecta o atrybucie name=lay_id.
×