korni Posted May 11, 2015 Share Posted May 11, 2015 Witam, Chcę przenieść input z modułu "blok prostego wyszukiwania" , z funkcjonalnością ajaxa (jquery.autocomplete) do formularza kontaktowego. O ile same pole szukaj przeniosłem i funkcję swoją spełnia, to niestety nie chce mi działać lista z podpowiedziami produktów wyżej jest oczywiście poprawne wyświetlanie, a na dole wadliwe. Jakieś podpowiedzi mi wyświetla, ale nie zamienia na nazwy produktów. Link to comment Share on other sites More sharing options...
0 design4VIP Posted May 11, 2015 Share Posted May 11, 2015 ale co i gdzie chcesz przeniesc? troche wiecej konkretow? w jaki sposob przeniosles pole? przenioslec tylko html pola czy caly mopdul do innego hook ? Link to comment Share on other sites More sharing options...
0 korni Posted May 12, 2015 Author Share Posted May 12, 2015 (edited) rozbudowałem formularz kontaktowy (contact-form) o kilkanaście nowych pół z zapisem do bazy. Jednym z pół jest nazwa produktu. O ile stworzenie selecta nie jest problemem, to jest to niewygodne dla klienta, w chwili gdyby musiał przewijać długą listę. Pomysł padł na wykorzystanie pola "szukaj" z modułu "blocksearch:, ponieważ on ma genialne rozwiązanie podpowiedzi w locie w postaci nazw produktów, które to potem wpisują się w inputa. Uaktywniłem moduł, Do nagłówków strony dodają się wpisy jquery.autocomplete.js oraz jquery.autocomplete.css, a samo przeniesienie pola polegało na tym, że po prostu skopiowałem kod z modułu: <div id="search_block_top"> <form method="get" action="{$link->getPageLink('search')}" id="searchbox"> <p> <label for="search_query_top"><!-- image on background --></label> <input type="hidden" name="controller" value="search" /> <input type="hidden" name="orderby" value="position" /> <input type="hidden" name="orderway" value="desc" /> <input class="search_query" type="text" id="search_query_top" name="search_query" value="{if isset($smarty.get.search_query)}{$smarty.get.search_query|htmlentities:$ENT_QUOTES:'utf-8'|stripslashes}{/if}" /> <input type="submit" name="submit_search" value="{l s='Search' mod='blocksearch'}" class="button" /> </p> </form> </div> Pole "szukaj" samo w sobie spełnia funkcję, ponieważ wyszukuje produkty, ale nie nie chcą się wyświetlać właśnie te podpowiedzi z nazwami. Być może trzeba coś zmienić w autocoplete.js, ale nie mogę znaleźć co. Albo coś gdzieś indziej. Edit: Zapomniałem dopisać, że silnik to 1.5.4.1 Edit 2: Chciałem jeszcze wykorzystać <datalist> zapętlając i podając jako wartość nazwę produktu. Problem w tym, że tylko FF potrafi poprawnie wyszukać wpisany ciąg znaków niezależnie, w którym miejscu w nazwie produktu by się znajdował. Opera i Chrome niestety porównuje tylko z pierwszymi znakami w nazwie produktu, zamiast przeszukać całą nazwę, więc ten pomysł też odpada :/ Edited May 12, 2015 by korni (see edit history) Link to comment Share on other sites More sharing options...
0 korni Posted August 26, 2015 Author Share Posted August 26, 2015 Podbijam temat, ponieważ muszę do niego już wrócić Link to comment Share on other sites More sharing options...
0 vekia Posted August 27, 2015 Share Posted August 27, 2015 włącz konsolę przeglądarki, zacznij coś wpisywać do search boxa w konsoli powinny pojawić się zapytania AJAX, mogą być czerwone - jeżeli takie są - to znaczy że są jakieś błędy możesz je tu przekopiować? Link to comment Share on other sites More sharing options...
0 korni Posted August 27, 2015 Author Share Posted August 27, 2015 wiesz co, z tym sobie już poradziłem. Zamiast przenosić sam kod z inputem, to stworzyłem nowego hooka w blocksearch, który jest podpięty teraz do formularza kontaktowego. Podpowiedzi już ładnie działaja, wartość się wpisuje w input, z tym że jeszcze nie przekazuje do bazy. Muszę zmienić id z domyślnego "search_query_block" na "produkt_1" (pod taką nazwą mam kolumny w tabeli), a najlepiej to na "produkt_{$l_prod}", gdzie l_prod jest licznikiem. Tylko teraz nad czym innym się zastanawiam. Taka operacja pociągnie za sobą modyfikacje wszystkich plików w module oraz w jquery.autocomplete (?). Problem pojawi się jak będę chciał ten moduł jeszcze gdzieś indziej wykorzystać oraz czy czasem nie ma odniesień z innych elementów sklepu do pliku z autouzupełnianiem. Jeśli są, to sobie tylko pogorszę sprawę i czy w tym wypadku nie lepiej by było stworzyć nowego modułu. Link to comment Share on other sites More sharing options...
0 vekia Posted August 28, 2015 Share Posted August 28, 2015 autocomplete jest używany w back office w ustawieniach kodów rabatowych, gdzie są podpowiedzi z produktami możesz sprawdzić, czy sie nie sypie :-) nie ma tych odwołań do autocomplete zbyt dużo :-)https://github.com/PrestaShop/PrestaShop/search?p=4&q=jquery.autocomplete&type=Code&utf8=%E2%9C%93 Link to comment Share on other sites More sharing options...
Question
korni
Witam,
Chcę przenieść input z modułu "blok prostego wyszukiwania" , z funkcjonalnością ajaxa (jquery.autocomplete) do formularza kontaktowego.
O ile same pole szukaj przeniosłem i funkcję swoją spełnia, to niestety nie chce mi działać lista z podpowiedziami produktów
wyżej jest oczywiście poprawne wyświetlanie, a na dole wadliwe. Jakieś podpowiedzi mi wyświetla, ale nie zamienia na nazwy produktów.
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now