Top 5 PrestaShop Pytania i Odpowiedzi 2016 Część 2

Pytanie nr 1: Zasady dotyczące przyjaznych adresów URL w PrestaShop
Jak mogę zdefiniować zasady, aby zastąpić te linki przyjaznymi adresami URL w PrestaShop
, ponieważ w następujących adresach URL znajdują się uszkodzone linki?
Chcę przekonwertować ten adres URL http://www.elektrojo.com/index.php?id_post=2&fc=module&module=nextblog&controller=nbpost na ten http://www.elektrojo.com/blog/2-second-blog
Ponadto te adresy URL mają stać się SEO i przyjazny dla użytkownika
http://www.elektrojo.com/index.php?fc=module&module=nextblog&controller=nblog do http://www.elektrojo.com/blog
http://www.elektrojo.com/index.php?id_collection=1&fc=module&module=nextblog&controller=nbcollection do http://www.elektrojo.com/blog/collection/1-test
http://www.elektrojo.com/index.php?year=2016&month=5&fc=module&module=nextblog&controller=nbarchive do http://www.elektrojo.com/blog/archive/2016-5
Odpowiedź nr. 1: wygląda na to, że katalog /blog/ pozostał pusty w katalogu głównym domeny. Gdy tylko usuniesz pusty katalog lub zmienisz jego nazwę, przyjazne adresy URL staną się operacyjne i będą działać prawidłowo w Twoim sklepie.
Pytanie nr 2: pojawia się błąd podczas wyszukiwania w sklepie według kolejności alfabetycznej
Gdy wpisuję coś w polu wyszukiwania PrestaShop, aby znaleźć produkty, pojawia się opcja wyświetlania wyników według kolejności alfabetycznej lub cenowej. Gdy wybieram kolejność sortowania, pojawia się błąd „Strona niedostępna”. Myślę, że coś jest nie tak z adresem URL, ponieważ gdy wybieram wyświetlanie wyników według ceny, adres URL wygląda tak
buscar&search_query=game&submit_search=?orderby=price&orderway=asc&orderway=asc
podczas gdy powinien być
buscar?search_query=game&submit_search=&orderby=price&orderway=asc&orderway=asc
Jak mogę rozwiązać ten problem?
Odpowiedź nr 2: takie błędy występują, gdy moduł nadpisał pliki „override/classes/Link.php” lub „override/controllers/front/SearchController.php” Twojego sklepu. Aby rozwiązać ten problem, musisz wyłączyć nadpisania.
Wyłącz nadpisania, przechodząc do Advance Parametersperformance. Tam wybierz „Tak”, a wszystkie nadpisania zostaną wyłączone. Skorzystaj z poniższego obrazka.
Pytanie nr 3: Nie można wyświetlić błędów w przekierowaniu PrestaShop
Opracowuję moduł, który jest obsługiwany przez API, aby pomóc użytkownikom w tworzeniu konta w PrestaShop. API jest włączane za pomocą przycisku, aby wywołać adres URL należący do mojej witryny. inicjuje funkcję, która umożliwia użytkownikom założenie konta.
Gdy wszystkie informacje są poprawne, działa dobrze, ale może wyświetlić błąd, gdy użytkownik utworzy konto.
Chcę przekierować użytkowników na stronę uwierzytelniania, która również pokazuje błędy.
Wypróbowałem to z tym
$this->context->smarty->assign('account_error', $myErrors); Narzędzia::przekierowanie('index.php?controller=authentication');
Przekierowanie działa, ale błędy wydają się być tracone.
Czy istnieje sposób na przekierowanie i zachowanie błędów?
Dzięki
Odpowiedź nr 3: Szczerze mówiąc, nie możesz wyświetlić żadnego błędu po ustawieniu przekierowań, podczas gdy możesz wykorzystać kontroler do wyświetlania błędów. Możesz również rozważyć użycie przycisków z napisem „Napraw błędy”, które po kliknięciu przekierowują użytkowników na autoryzowaną stronę.
Dodaj to do swojego kontrolera
if (empty($email)) $this->errors[] = Narzędzia::displayError('E-mail jest pusty.');
i w swoim tpl użyj w top
{dołącz plik="$tpl_dir./errors.tpl"}
Pytanie nr 4: Mam problemy z dodawaniem kategorii do nowych produktów w PrestaShop
Mam problem od dawna i nie mogę znaleźć skutecznego rozwiązania. Dzieje się tak, gdy dodaję nowe produkty do bazy danych za pomocą obiektu produktu, ale nie mogę ich sklasyfikować w kategorii. Produkt dodaje się bez problemu, ale nie mogę dołączyć produktów do kategorii.
$cat_ids = []; foreach ($value['kat_naziv'] as $cat_val) { $cat_ids[] = (int)$luceed->selectCategoryIds($cat_val)[$cat_val]['id_category']; $product->id_category = 3; $product->id_category_default = 3; $product->zapisz(); $product->addToCategories($cat_ids);
$cat_ids to tablica liczb całkowitych, którą pobrałem z bazy danych, podczas gdy name to coś, co pozostawiam jako parametr do wyboru identyfikatorów kategorii;
Moje pytanie brzmi, dlaczego nowo dodane produkty nie są wyświetlane w wybranej przeze mnie kategorii?
Odpowiedź nr 4: Po dodaniu nowego produktu możesz połączyć go z kategoriami, używając następującego kodu.
$product->updateCategories($category_array);
gdzie
$category_array = tablica("0" => "2", "1" => "3", "4" => "6"...... );
Pytanie 5: Dodawanie listy produktów do mojego sklepu PrestaShop
Cześć,
Jestem naiwny w zarządzaniu sklepem PrestaShop, dlatego mam trudności z dodaniem listy produktów odzieżowych. Próbowałem z pomocą dwóch plików CSV (jeden jako lista, a drugi dla kombinacji produktów), ale to nie zadziałało.
Do importu produktów dodałem to
http://pvmag.ro/Fisiere-directoare/IMPORT%202%20-%20Copy.csv
a do kombinacji wypróbowałem to
http://pvmag.ro/Fisiere-directoare/combinations_import.csv
Jak naprawić ten problem?
Odpowiedź nr 5: Być może błędem może być brak separatorów pól. Upewnij się, że separatory dla pól i wielu wartości są zgodne z plikiem CVS. Przetestowaliśmy (;) jako separator pól i (,) do rozdzielania wielu wartości i działało to dobrze. Możesz również spróbować.