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.

Share This:

  1. Dawid says:

    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 says:

      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

        • Dawid says:

          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

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *