Press "Enter" to skip to content

[lifehack] wymuszone kliknięcie ładującego się przycisku zapisu w zapleczu sklepu

Admin 4

Dziś trochę nietypowy artykuł. Od wersji 1.6 twórcy Presta Shop stworzyli mechanizm blokowania przycisku zapisywania np. produktu:

loading-ps

(Przycisk oczywiście jest animowany i obrazek powyżej to zrzut ekranu)

Tak naprawdę ten button występuje wszędzie tam, gdzie procesy w tle uniemożliwiają wysłanie formularza, który aktualizuje lub zapisuje jakieś dane.

Jest to o tyle denerwujące, że czasem (szczególnie na wolnych łączach lub przeładowanych serwerach gdzie jest nasz sklep) ładowanie tego elementu trwa mniej więcej „wieczność” 😉 A my np. chcemy jedynie zaktualizować cenę jednego produktu i wyjść z pracy..

Można przeprogramować całe zaplecze naszego oprogramowania i definitywnie pozbyć się tego powiedzmy sobie wprost – dziwactwa. Jednak dzisiaj pokażemy doraźny sposób na pozbycie się tego problemu. Nie usunie on tej przypadłości trwale, bo nie zalecamy definitywnego pozbycia się tego rozwiązania. W końcu po coś służy i tak daleko idąca operacja mogła by być dość nieobliczalna w skutkach..

Czasem nasze rozwiązanie też nie jest skuteczne – bo istotnie w tle są ładowane obligatoryjne informacje bez których nie zapiszemy rekordu.

Jak to zrobić pokażemy na podstawie przeglądarki MOZILLA FIREFOX:

  1. instalujemy darmowy dodatek do analizy „w locie” kodu html: https://addons.mozilla.org/pl/firefox/addon/firebug/
  2. klikamy na loadujący się przycisk prawym przyciskiem myszki i wybieramy opcję „zbadaj za pomocą firebuga” – zobacz obrazek
  3. w wyskakującym oknie znajdujemy węzeł (poprzez rozwianie węzłów za pomocą plusika) który odpowiada naszemu przyciskowi. Po najechaniu na kod z węzłem <button> powinien on się podświetlić – zobacz obrazek
  4. W naszym węźle <button> klikamy prawym przyciskiem na atrybut:  disabled=”disabled” i wybieramy opcję „usuń atrybut disabled” – zobacz obrazek
  5. Po tej operacji – przycisk powinien zmienić wygląd (nie będzie poszarzały) i będzie możliwy do kliknięcia.
  1. a co jeśli mam to „wiecznie” tzn. dodaję produkt, a te przyciski ciągle się ładują.. nigdy nie przestają. Każdorazowe używanie firebuga jest uciążliwe. Masz na to jakiś pomysł?

    • admin admin

      Trzeba by to bylo zrobić na sztywno w kontrolerze edytującym produkt. Tzn usunąć mechanizm dodawania atrybutu disabled do tego przycisku. Siedzi to jak myślę w Javascript. Jednak mimo że jest to maksymalnie denerwujące rozwiązanie to w tle są prawdopodobne wypełniane niektóre pola produktu. Przynajmniej na starcie edycji. Jak szybko zapiszesz produkt zaraz po jego otwarciu pewne dane mogą być utracone. Na pewno takie sztywne rozwiązanie i jego użytkowanie musiałoby iść z parze z robieniem kopii bezpieczeństwa sklepu przynajmniej przez pierwszy okres użytkowania

      • admin admin

        Albo zrobić warunek aby to wyłączyć tylko przy dodawaniu nowego produktu bo tak jest u Ciebie jak rozumiem.

        • usunałem we wszystkich widokach templatki w dodawaniu produktu disabled no i oczywiście staram się nie zapisywać od razu po wczytaniu..

          googlałem o tym trochę i wiele osób ma podobny problem ..
          dzięki za pomoc

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Taki błąd może się pojawić np. po instalacji modułu DPD.…