r4di04ctiv3 Posted May 6, 2018 Share Posted May 6, 2018 Dzien dobry. Czy moze ktos wie jak zrobic zeby na liscie wyszukanych produktow wyswietlalo sie tez pole product.reference i cena? probowalem na rozne sposoby ale tylko wyswietla sie {$product.name} zadne inne {$product.reference} {$product.price}. kod w tym miejscu wyglada tak: <td width="90" align="center"> <a href="product.php?id_product={$product.id_product}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"> <img src="{$product.sciezka_img}" style="border: none"></a> </td> <td> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;"> {$product.name} </a> </td> <td> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;"> {$product.reference} </a> </td> Byc moze trzeba w jakims pliku innym cos dodac by przekazywal zawartosc product_reference i cen tutaj ? Prestashop 1.4.4.1 Dziekuje Link to comment Share on other sites More sharing options...
0 atomek Posted May 6, 2018 Share Posted May 6, 2018 Zajrzyj do pliku /classes/Search.php, metoda find, jest tam m.in. taki kod: if ($ajax) { return $db->ExecuteS(' SELECT DISTINCT p.id_product, pl.name pname, cl.name cname, cl.link_rewrite crewrite, pl.link_rewrite prewrite '.$score.' FROM '._DB_PREFIX_.'product p INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)$id_lang.') INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = '.(int)$id_lang.') WHERE p.`id_product` '.$productPool.' ORDER BY position DESC LIMIT 10'); } Na początek musisz dodać do zapytania sql pola które potrzebujesz Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted September 29, 2018 Author Share Posted September 29, 2018 Dnia 06.05.2018 o 8:30 PM, atomek napisał: Zajrzyj do pliku /classes/Search.php, metoda find, jest tam m.in. taki kod: if ($ajax) { return $db->ExecuteS(' SELECT DISTINCT p.id_product, pl.name pname, cl.name cname, cl.link_rewrite crewrite, pl.link_rewrite prewrite '.$score.' FROM '._DB_PREFIX_.'product p INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)$id_lang.') INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = '.(int)$id_lang.') WHERE p.`id_product` '.$productPool.' ORDER BY position DESC LIMIT 10'); } Na początek musisz dodać do zapytania sql pola które potrzebujesz jak to zrobic? potrzebuje tylko by wyswietlala mi sie cena netto obok . W pliku search.tpl dodalem takie cos na wzor $product.name : <td> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;"> {$product.name} </a> </td> <td> <span class="price" style="display: inline;"> {convertPrice price=$product.price_tax_exc} </span> </td> Po dodaniu tego wyswietla mi sie Nazwa productu ktorego szukalem, dalej wyswietla mi sie cena ale zawsze 0,00zł czyli z tego co rozumiem plik search.php nie przekazuje do plika search.tpl ceny produktu bo nie ma tego pola w zapytaniu sql? Jesli mozna prosze napisac co tam mam i gdzie wkleic zeby takie zapytanie jednak bylo. dziekuje Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted November 15, 2018 Author Share Posted November 15, 2018 witam ponownie. Dodalem w tym zapytaniu p.price wyglada to teraz tak: if ($ajax) { return $db->ExecuteS(' SELECT DISTINCT p.price, p.id_product, pl.name pname, cl.name cname, cl.link_rewrite crewrite, pl.link_rewrite prewrite '.$score.' FROM '._DB_PREFIX_.'product p INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)$id_lang.') INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = '.(int)$id_lang.') WHERE p.`id_product` '.$productPool.' ORDER BY position DESC LIMIT 10'); } tylko chyba zle to zrobilem bo nic sie nie zmienilo 😀 prosze o dalsza podpowiedz dzieki Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted November 15, 2018 Author Share Posted November 15, 2018 jeszcze jedno zapytam... czy po takiej zmianie w pliku /classes/Search.php dobrze robie ze w pliku /themes/prestashop/search.tpl wpisuje takie cos w miejscu gdzie chce by ta cena wyswietlala sie: <td> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;"> {$product.price} </a> </td> czy jakos inaczej mam tu napisac nie {$product.price} tylko {$product.unit_price} czy jeszcze jakos inaczej? Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 30, 2018 Author Share Posted December 30, 2018 (edited) Z nowym nadchodzacym rokiem wszystkich. Jesli ktos kto sie zna bedzie mial czas pomoc z dodaniem tych cen na stronie wyszukiwania produktow, to prosze o pomoc, nadal jest aktualne. dziekuje Edited December 30, 2018 by r4di04ctiv3 (see edit history) Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 30, 2018 Share Posted December 30, 2018 Zdumpuj sobie zmienna $product i dostaniesz wszystkie podzmienne jakie zwraca {$product|var_dump} Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 30, 2018 Author Share Posted December 30, 2018 42 minuty temu, design4VIP napisał: Zdumpuj sobie zmienna $product i dostaniesz wszystkie podzmienne jakie zwraca {$product|var_dump} zrobilem to i niestety nie zwraca nic z cena sa tylko takie: { ["id_product"]["id_lang"]["description"] ["description_short"]["link_rewrite"]["meta_description"] ["meta_keywords"]["meta_title"]["name"]["available_now"] ["available_later"] ["id_image"]["position"] ["cover"] ["sciezka_img"] } czyli cos gdzies trzeba zmienic jeszcze zeby zwracalo cene? Link to comment Share on other sites More sharing options...
0 atomek Posted December 30, 2018 Share Posted December 30, 2018 Zobacz ten wątek, temat zbliżony, może Ci to pomoże https://www.prestashop.com/forums/topic/590294-wyświetlanie-cen-w-wyszukiwarce-dynamicznej/ Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 30, 2018 Author Share Posted December 30, 2018 10 minut temu, atomek napisał: Zobacz ten wątek, temat zbliżony, może Ci to pomoże https://www.prestashop.com/forums/topic/590294-wyświetlanie-cen-w-wyszukiwarce-dynamicznej/ dzieki, zaraz sprobuje tylko ze mam 1.4 a tam niby pod 1.6 Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 30, 2018 Share Posted December 30, 2018 Troche juz "zdziadzialem" bo od 3 lat nie dzialam na presta. Nie pamietam dokladnie w ktorej tabeli trzymane sa ceny, czy aby napewno w ps_product? Druga sprawa... SELECT DISTING, takie sformuowanie pobiera tylko unikalne dane, czy pobierze cene jak beda wystepowac takiebsame ceny roznych produktow? Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 30, 2018 Author Share Posted December 30, 2018 (edited) 18 minut temu, design4VIP napisał: Troche juz "zdziadzialem" bo od 3 lat nie dzialam na presta. Nie pamietam dokladnie w ktorej tabeli trzymane sa ceny, czy aby napewno w ps_product? Druga sprawa... SELECT DISTING, takie sformuowanie pobiera tylko unikalne dane, czy pobierze cene jak beda wystepowac takiebsame ceny roznych produktow? niestety nie znam sie na tym kompletnie, jedyne nad czym zastanawiam sie czemu np klikajac na ktoras z kategorii na liscie sa wyswietlane wszystkie te dane? Znalazlem fragment kodu w pliku product-list.tpl ktory wyswietla wlasnie ta cene ale po wklejeniu tego fragmentu do pliku search.tpl nadal nic 😀. wyswietla sie zawsze albo cena 0.00zl albo zadna . Metoda atomka tez nie dziala u mnie bo nie ma w ps1.4 nawet takich plikow w tych folderach jak w ps1.6 albo sa z inna zawartoscia wiec nie wiem tak naprawde co gdzie zmieniac i szukac. chce by bylo tak jak na liscie produktow: a mam niestety tak : Pomocy pls!!! Edited December 30, 2018 by r4di04ctiv3 (see edit history) Link to comment Share on other sites More sharing options...
0 atomek Posted December 30, 2018 Share Posted December 30, 2018 Chyba masz jakiś inny problem, presta w wersji 1.4.4.1 standardowo wyświetla ceny produktów w wynikach wyszukiwania i nie są potrzebne żadne przeróbki. Aby wyświetlić kod produktu wystarczy dodać {$product.reference} w pliku product-list.tpl. Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 30, 2018 Author Share Posted December 30, 2018 (edited) 1 godzinę temu, atomek napisał: Chyba masz jakiś inny problem, presta w wersji 1.4.4.1 standardowo wyświetla ceny produktów w wynikach wyszukiwania i nie są potrzebne żadne przeróbki. Aby wyświetlić kod produktu wystarczy dodać {$product.reference} w pliku product-list.tpl. sprobowalem wyszukac w innym sklepie (konkurencji) opartym tez na ps1.4.4.1 no i tez po wpisywaniu w wyszukiwarce sklepowej jakiegos artykulu w pojawiajacej sie liscie znalezionych produktow jest tylko zdjecie, nazwa i przycisk szczegoly, nic wiecej. Wiec nie wiem czy 1.4.4.1 standardowo to wyswietla, sprobuje w najblizszym czasie zainstalowac 1.4.4.1 (sciagnalem ta wersje juz ze stony) na jakims darmowym hostingu i zobaczyc. Co do kodu produktu nie potrzebuje go by sie wyswietlal ale on akurat wyswietla sie, nie wyswietla sie tylko cena, ja mozna zobaczyc dopiero na stronie produktu klikajac w przycisk szczegoly Edited December 30, 2018 by r4di04ctiv3 (see edit history) Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 31, 2018 Share Posted December 31, 2018 To, ze wyswietla sie na innych stronach to kwestia kontrolerow. Zmiany, zeby wyswietlilo sie w wyszukiwarce musisz naniesc w konyrolerze modulu BlockSearch. Tam musisz namierzyc skad z tabeli pobierane sa dane i jakie. Dalej dokonac zmian czy to w saamym module czy w konyrolerze glownym strony, jezeli do takowego sie odnosi. Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 11 godzin temu, atomek napisał: Chyba masz jakiś inny problem, presta w wersji 1.4.4.1 standardowo wyświetla ceny produktów w wynikach wyszukiwania i nie są potrzebne żadne przeróbki. Aby wyświetlić kod produktu wystarczy dodać {$product.reference} w pliku product-list.tpl. atomek chyba masz racje. porownalem oryginalny plik search.tpl ze swoim sa takie same do linijki 35. od linijki 36 oryginalny wyglada tak: {if !$nbProducts} <p class="warning"> {if isset($search_query) && $search_query} {l s='No results found for your search'} "{if isset($search_query)}{$search_query|escape:'htmlall':'UTF-8'}{/if}" {elseif isset($search_tag) && $search_tag} {l s='No results found for your search'} "{$search_tag|escape:'htmlall':'UTF-8'}" {else} {l s='Please type a search keyword'} {/if} </p> {else} <h3><span class="big">{$nbProducts|intval}</span> {if $nbProducts == 1}{l s='result has been found.'}{else}{l s='results have been found.'}{/if}</h3> {if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}{include file="$tpl_dir./product-sort.tpl"}{/if} {include file="$tpl_dir./product-list.tpl" products=$search_products} {if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}{include file="$tpl_dir./pagination.tpl"}{/if} {/if} a moj tak: {foreach from=$results item=product} <table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin-top: 1px; margin-bottom: 1px; background-color: #E5E2D4;"> <tr height="90"> <td width="90" align="center"> <a href="product.php?id_product={$product.id_product}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"> <img src="{$product.sciezka_img}" style="border: none"></a> </td> <td> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;"> {$product.name} </a> </td> <td> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;"> <span class="price">{convertPrice price=$product.price_tax_exc}</span> </a> </td> <td align="right"> <a href="product.php?id_product={$product.id_product}" style="text-decoration: none;"> <img src="{$base_dir}themes/prestashop/img/btn_szczegoly.png" border="0"> </a> </td> </tr> </table> {/foreach} Z tym ze ta kolumne <td> z convertprice </td> dodalem juz ja . Sprobowalem tez podmienic ten moj plik na oryginalny ale niestety zamiast wyszukiwac cos zawsze wydaje blad typu "No results found" nawet jesli chcesz wyszukac produkt ktory na 100% jest. Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 31, 2018 Share Posted December 31, 2018 A odswiezyles kompilacje? W 1.4 trzeba wymusic ja recznie Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 48 minut temu, design4VIP napisał: A odswiezyles kompilacje? W 1.4 trzeba wymusic ja recznie tak, ustawilem wymuszaj kompilacje na TAK , korzystaj z cache na nie, niestety nadal No results found for your search Link to comment Share on other sites More sharing options...
0 atomek Posted December 31, 2018 Share Posted December 31, 2018 Sprawdź SearchController.php, wygląda na to że został zmieniony, możesz mieć nadpisany w folderze override/controllers/ lub zmieniony w oryginalnej lokalizacji do Twojej niestandardowej templatki informacje o produktach są przekazywane w zmiennej $results, oryginalna templatka pobiera dane z $search_products sprawdź też w klasie Search.php i w module blocksearch, może są tam jakieś niestandardowe rozwiązania Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 1 godzinę temu, atomek napisał: Sprawdź SearchController.php, wygląda na to że został zmieniony, możesz mieć nadpisany w folderze override/controllers/ lub zmieniony w oryginalnej lokalizacji do Twojej niestandardowej templatki informacje o produktach są przekazywane w zmiennej $results, oryginalna templatka pobiera dane z $search_products sprawdź też w klasie Search.php i w module blocksearch, może są tam jakieś niestandardowe rozwiązania w SearchController.php z tego co widze jest duzo zmian, znalazlem tam taki kod mysle ze to on przekazuje niektore informacje bo akurat 3 ostatnie z dumpowania to chyba te z tego kodu: $query = 'SELECT * FROM ps_product_lang pl LEFT JOIN ps_image i ON(i.id_product = pl.id_product AND i.position = 1) WHERE pl.id_lang=6 AND pl.name LIKE "%'.$query.'%"'; $results = Db::getInstance()->ExecuteS($query); //echo sizeof($results); foreach($results as &$row) { $res = Product::getCover($row['id_product']); $cover = new Image($row['id_image'], $id_lang); //$rewrite = $row['sciezka_img'] = $cover->id.'-home/'.$row['link_rewrite'].'.jpg'; } czy mozna tutaj cos dodac zeby przekazywalo tez cene? czy jest to bardziej skomplikowane? Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 31, 2018 Share Posted December 31, 2018 4 hours ago, r4di04ctiv3 said: {if isset($search_query) && $search_query} {l s='No results found for your search'} "{if isset($search_query)}{$search_query|escape:'htmlall':'UTF-8'}{/if}" Jak dla mnie to w r Tym niby oryginalnym pliku jest blad. Wg tego zapytania/zaleznosci tlumaczac: Jezeli jest element wyszukanu to "nie ma elementu" Jezeli jest element wyszukany "to jest element" Czyli jedno z drugim sie wyklucza. W pierwszej zaleznosci brakuje wykrzyknikow czyli "nie" Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 31, 2018 Share Posted December 31, 2018 14 minutes ago, r4di04ctiv3 said: czy mozna tutaj cos dodac zeby przekazywalo tez cene? czy jest to bardziej skomplikowane? Tutaj ktos robil wersje z wyswietlaniem obrazkow. Masz tylko polaczone tabele image i lang. Czyli za bardzo nie byloby z czego wyciagnac ceny. Mozesz dodac przez JOIN tabele gdzie pobierze cene i pobrac zmienna price Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 1 minutę temu, design4VIP napisał: Tutaj ktos robil wersje z wyswietlaniem obrazkow. Masz tylko polaczone tabele image i lang. Czyli za bardzo nie byloby z czego wyciagnac ceny. Mozesz dodac przez JOIN tabele gdzie pobierze cene i pobrac zmienna price no racja, chyba przerabiali po to by obrazki byly. Co do oryginalnego pliku to jest on pobrany ze strony prestashop wiec moze od samego poczatku byl taki blad nie wiem, ale i tak bym wolal zostawic wersje przerobiona z obrazkami ale tez jakos ta cene dodac. Czy mozna dokladniej z tym JOIN, krok po kroku co i gdzie zrobic, czy to jest trudne i nie ogranicza sie "wklej to tu...wytnij to stad" ? Link to comment Share on other sites More sharing options...
0 atomek Posted December 31, 2018 Share Posted December 31, 2018 po $row['sciezka_img'] = $cover->id.'-home/'.$row['link_rewrite'].'.jpg'; dodaj $row['price'] = Product::getPriceStatic($row['id_product']); w templatce search.tpl odwołaj się do $product.price ps. nie prościej było by przywrócić oryginalne pliki, co teraz masz w wynikach wyszukiwani, czego nie było wcześniej? Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 4 minuty temu, atomek napisał: po $row['sciezka_img'] = $cover->id.'-home/'.$row['link_rewrite'].'.jpg'; dodaj $row['price'] = Product::getPriceStatic($row['id_product']); w templatce search.tpl odwołaj się do $product.price ps. nie prościej było by przywrócić oryginalne pliki, co teraz masz w wynikach wyszukiwani, czego nie było wcześniej? atomek , jestes super : ) to dziala , jeden minus ze wyswietla cene brutto czyli z VAT , czy mozna jakos zrobic zeby byla to cena NETTO ? dodam ze $product.price_tax_exc nie dziala tylko $product.price Link to comment Share on other sites More sharing options...
0 atomek Posted December 31, 2018 Share Posted December 31, 2018 można $row['price'] = Product::getPriceStatic($row['id_product'], false); zobacz do pliku Product.php, masz tam opisane wszystkie parametry funkcji getPriceStatic Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 Dziekuje wszystkim za pomoc, wszystko dziala tak jak chcialem. Problem rozwiazany!!! Szczesliwego Nowego Roku!!! P.S.Wiem ze kazda praca kosztuje tak ze jestem gotowy zaplacic za udzielone podpowiedzi, prosze smialo pisac w priw. Link to comment Share on other sites More sharing options...
0 design4VIP Posted December 31, 2018 Share Posted December 31, 2018 23 minutes ago, r4di04ctiv3 said: .Wiem ze kazda praca kosztuje tak ze jestem gotowy zaplacic za udzielone podpowiedzi, prosze smialo pisac w priw. Moze i dostales od atomka gotowca ale kombinowales i nie czekales na niego jak (nieublizajac nikomu) wiekszosc povzatkujacych na tym i wielu innych polach. Zasluzyles na to rozwiazanie. Moim zadniem nietaktem bylo by czerpac z tego korzysci tobie tez najlepszego w Nowym Roku i prostych sciezek do poznania Presta Link to comment Share on other sites More sharing options...
0 r4di04ctiv3 Posted December 31, 2018 Author Share Posted December 31, 2018 Poprostu nawet jesli czegos nie potrafie i ktos mi chce pomoc odplatnie, bardziej mnie satysfakcjonuje taka wlasnie pomoc kiedy moge robic tez cos przy pomocy innych niz poprostu kupic gotowa modyfikacje czy zaplacic komus kto to zrobie za mnie od A do Z. A tak cos jednak zostanie i w mojej glowie wiec nauka tez kosztuje . Przyznam ze juz wczesniej grzebalem w tym pliku SearchControler i akurat w tym miejscu cos juz probowalem dodawac wiec bylem blisko, ale jednak zabraklo mi mojej wiedzy by to dokonczyc. Tak ze jestem bardzo wdzieczny ze nie zostalem olany jak to czesto jest . Z ta przerobka walczylem juz dlugo i w reszcie dzieki Wam udalo mi sie to zrobic. Drobnostka niby, ale jestem MEGA zadowolony. Dzieki! Link to comment Share on other sites More sharing options...
Question
r4di04ctiv3
Dzien dobry. Czy moze ktos wie jak zrobic zeby na liscie wyszukanych produktow wyswietlalo sie tez pole product.reference i cena?
probowalem na rozne sposoby ale tylko wyswietla sie {$product.name} zadne inne {$product.reference} {$product.price}.
kod w tym miejscu wyglada tak:
<td width="90" align="center">
<a href="product.php?id_product={$product.id_product}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}">
<img src="{$product.sciezka_img}" style="border: none"></a>
</td>
<td>
<a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;">
{$product.name}
</a>
</td>
<td>
<a href="product.php?id_product={$product.id_product}" style="text-decoration: none; color: #180000;">
{$product.reference}
</a>
</td>
Byc moze trzeba w jakims pliku innym cos dodac by przekazywal zawartosc product_reference i cen tutaj ?
Prestashop 1.4.4.1
Dziekuje
Link to comment
Share on other sites
28 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