• Closed by: Marek
  • Closed on: 09.07.19, 13:30
  • Reason: Closed
  • Comment: Glad to help!

Ticket #14658 - Several issues and questions

Cześć Marek,

Mam kilka problemów i pytań, gdybyś mógł pomóc :)


PROBLEMY:

1) Błąd strony wyszukiwania gdy nie ma pasujących produktów - wpisz sobie cokolwiek bezsensu w wyszukiwarkę na stronie głównej i kliknij enter - wywali Cię do błędu 500
2) Filtrowanie produktów w kategorii (filtry fasadowe) nie bardzo chcą działać.


PYTANIA:

1) Mam kilka manualnych zmian w plikach TPL i nie chciałbym tego tracić przy aktualizacji szablonu. Wiem, że da się zrobić Child Theme, tak jak to się robi w Wordpressie np. Czy możesz pokazać mi jak mam to zrobić na bazie tych plików, które mam teraz?
2) Czy jesteś w stanie podać mi kod, który mógłbym wykorzystać do pokazania na stronie produktu nietypowej informacji z bazy danych, mianowicie “supplier_reference”. Jest to normalna informacja przypisana do produktu, ale mało osób z niej korzysta - a dla nas jest ważna.
3) Obecnie koszyk na pasku nagłówka pokazuje sumaryczną ilość produktów. Nam się to zupełnie nie sprawdza. U nas idealna byłaby nie suma SZTUK produktów tylko ILE RÓŻNYCH produktów tam jest. Czyli gdybym miał tam 5 produktów, każdy po kilka sztuk, to żeby koszyk pokazywał 5, a nie sumę sztuk. Dałoby się coś takiego zrobić?


I to chyba na tyle na ten moment.
Ze względu na dwa problemy, o których napisałem, dałem priorytet wysoki, mam nadzieję, że to jest OK?

Pozdrowienia,
Damian

Comments

Marek 28 May 2019, 08:14

Witam, Damian.
Przepraszam że tak długo odpowiadam.
Proszę zaktualizawać dostęp to serwera przez FTP

Damian Lewandowicz 28 May 2019, 08:22

Nie ma sprawy.
Zaktualizowałem hasło, powinno teraz być OK, sprawdź proszę i daj znać :)

Marek 29 May 2019, 13:38

1. ok
2. Sprobuj ten CSS:

#search_filters .facet .collapse {display: block}

3. Proszę sprawdzić tu https://devdocs.prestashop.com/1.7/themes/reference/template-inheritance/parent-child-feature/ to będzie lepiej niż sam będę tłumaczył
4. Można wpisać następny kod do pliku /themes/alysum/templates/catalog/product.tpl:
{$product|print_r}
I znaleźć niezbędna informacje. Będę to coś podobnego do
{$product. supplier_reference}
5. Niestety teraz nie mogę w tym pomoc

Damian Lewandowicz 29 May 2019, 14:37

Dzięki!

Ad:2) OK, teraz je widać. A masz pomysł, czemu widać tylko 2 z 4 filtrów? Brakuje np. filtra ceny (w załączeniu screenshot). I jak można zrobić, żeby pokazało tylko kilka pierwszych pól, a reszta po jakimś rozwinięciu? Dla testów filtry są teraz widoczne TYLKO w tej kategorii: https://ekgroup.pl/317-kable-telekomunikacyjne


Ad:3) Dzięki, spróbuję, w razie wątpliwości dopytam :)


Ad:4) Działa, dziękuję :)


Ad:5) Teraz czy w ogóle? :) A jeśli nie teraz, to kiedy?

Marek 31 May 2019, 11:36

2. Może dla tego że modul jest właczony wylacznie dla tej kategorii? Proszę sprawdzić konfiguracje tego modula
5. Napewno nie będzię to w czerwcu, nie mogę powiedieć dokładnie

Damian Lewandowicz 31 May 2019, 13:42

Hej!


Ad:2) Nie zrozumiałeś mnie :) Specjalnie włączyłem filtry tylko w tej kategorii dla testów. Pytanie brzmi, dlaczego jest tylko filtr producenta i serii produktu, a nie widać filtra dostępności oraz filtra ceny?


Ad:5) Rozumiem. A powiedz mi - nie da rady teraz bo to jest czasochłonne, czy nie da rady teraz, bo to jest de facto customizacja a nie poprawka?

Marek 31 May 2019, 16:17

2. Może w tym jest problem https://take.ms/IYjUU

5. Dokładnie tak, bo jest to customizacja

Damian Lewandowicz 31 May 2019, 17:17

Ad:2) A masz jakiś pomysł, dlaczego reindex cen nie działa? Po chwili od kliknięcia mam komunikat “Indeksowanie cen nieudane”?

Marek 03 Jun 2019, 09:04

Naprawdę widzę to po raz pierwszy. Znalazłem to http://forge.prestashop.com/browse/BOOM-6261

Damian Lewandowicz 04 Jul 2019, 13:11

Cześć :)

Wrócę na chwilę do tematu Child Theme. Próbowałem to zrobić według instrukcji jaką zalinkowałeś, ale wysypuje mi się w trakcie przełączania, gdy próbuje włączyć moduły, których nie ma zainstalowanych.
Może masz jaką minimalną wersję pliku theme.yml, która nie będzie generować żadnych zmian podczas przełączania szablonów?

A przy okazji - wziąłbyś na siebie zadanie aktualizacji szablonu z weryfikację czy nic się nie wysypało za dodatkową opłatą?

Daj znać :)
Damian

Damian Lewandowicz 04 Jul 2019, 13:12

Ah i jeszcze jedno. Widzę, że masz w planach dodanie Page Buildera do stron kategorii - na kiedy planujesz tę aktualizację?

Marek 05 Jul 2019, 13:41

Niestety nie mam dużo doświdczenia z Child Theme, nie mogę pomoc z tym, ale sprobuję wyjaśnić to jak będę miał czas.
Co do aktualizacji, proszę po prostu spróbować zaktualizować szablon i w razie blędów pisać do nas.
Chcielibyśmy wypuszcić nowa wersię w tym tygodniu

Damian Lewandowicz 05 Jul 2019, 15:04

OK, to daj mi znać co wiesz jak zdążysz i będziemy próbować.

Aktualizacja szablonu po prostu nie działa mi, próbowałem wcześniej wiele razy - przycisk nic nie daje.

Boję się grzebać w tym głębiej, bo mamy spore aktualizacje asortymentu i boję się wysypania sklepu w stanie live.

Marek 07 Jul 2019, 20:50

Proszę spróbować moją child theme https://www.dropbox.com/s/53sh0xq72kjkmxu/alysumchild.zip?dl=0 dla mnie wszystko działa

Damian Lewandowicz 08 Jul 2019, 14:50

Dzięki, spróbuję.

Wracając do jednego z wcześniejszych punktów, zgodnie z Twoją instrukcją dodałem na stronie produktu wywołanie dodatkowej informacji z bazy danych. A dokładnie zrobiłem sobie taką sekcję z indeksem, jednostką sprzedaży oraz numerem producenta. W kodzie wygląda to tak:


<p class="indeks">Jednostka: <span itemprop="sku">{$product.unity}</span></p>		  
<p class="indeks">{l s='Reference' d='Shop.Theme.Catalog'}: <span itemprop="sku">{$product.reference_to_display}</span></p>
<p class="indeks refer">Nr producenta: {$product.supplier_reference}</p>

Ogólnie jest spoko. Ale byłoby dużo fajniej, gdyby ten pierwszy i trzeci akapit - czyli jednostka i numer producenta - były wyświetlane warunkowo, tylko wtedy, gdy wartość faktycznie występuje. Czy byłbyś w stanie podać mi, jak powinien wyglądać taki kod jako warunek: “Jeśli wartość istnieje w bazie = pokazuje akapit; jeśli nie ma = nie pokazuje”.

Marek 08 Jul 2019, 19:42

Można spróbować następny kod:

{if $product.quantity > 0}
...
{/if}
Damian Lewandowicz 08 Jul 2019, 20:27

Coś nie działa :)

Marek 09 Jul 2019, 00:01

Dla mnie działa

{if $product.quantity > 0}
<p class="indeks">Jednostka: <span itemprop="sku">{$product.unity}</span></p>		  
<p class="indeks">{l s='Reference' d='Shop.Theme.Catalog'}: <span itemprop="sku">{$product.reference_to_display}</span></p>
<p class="indeks refer">Nr producenta: {$product.supplier_reference}</p>
{/if}
Damian Lewandowicz 09 Jul 2019, 11:03

Ah, bo chyba się nie zrozumieliśmy.
Nie chcę uzależniać wyświetlania tego od ilości produktu tylko wyświetlanie danej wartości od tego, czy jest.


Czyli JEŚLI jest określony $product.unity ⇒ wyświetla to:

<p class="indeks">Jednostka: <span itemprop="sku">{$product.unity}</span></p>		  

Czyli JEŚLI jest określony $product.supplier_reference ⇒ wyświetla to:

<p class="indeks refer">Nr producenta: {$product.supplier_reference}</p>		  

Najchętniej to bym jeszcze dla $product.unity zrobił bardziej szczegółowe warunkowanie (jeśli wartość x ⇒ to y), ale to już dalsze plany :)

Masz jakiś pomysł na to, co Ci wyżej napisałem?

Damian Lewandowicz 09 Jul 2019, 12:31

Już mam :)

{if isset($product.unity) && $product.unity}	  		
		  <p class="indeks">Jednostka: <span itemprop="sku">{$product.unity}</span></p>
		  {/if}
Marek 09 Jul 2019, 12:31

Może po prostu tak?

{if !empty($product.unity)}
<p class="indeks">Jednostka: <span itemprop="sku">{$product.unity}</span></p>		  
{/if}

albo

{if ($product.unity != 100)}
...

gdzie “100” trzeba dopasować do Pana warunków

Damian Lewandowicz 09 Jul 2019, 12:50

Twoje rozwiązanie chyba pozwoli mi porobić te warunki, sprawdzam :)

Damian Lewandowicz 09 Jul 2019, 13:29

Działa jak trzeba :)

Marek 09 Jul 2019, 13:30

Dobrze