Nie dzia?a wyszukiwanie produkt?w

Miejsce na wszelkie dyskusje odnośnie problemów technicznych i ewentualnych pytań z rozbudowaniem systemu w plikach i skryptach Opencart, a które nie dotyczą instalacji.

Nie działa wyszukiwanie produktów

Postprzez barthy » 4 cze 2013, o 10:45

Witam,
Mam produkty zaimportowane przez backup/import z poprzedniej wersji 1.4.9.
Problem w tym, że na stronie szukania, jak i w Searchboxie nie działa to.

Problem 1) Searchbox w headerze nie podpowiada produktów - w poprzedniej wersji podpowiadał po nazwie produktu.
Problem 2) Czego bym nie wpisał, zawsze wyrzuca "Nie ma produktów spełniających kryteria wyszukiwania."

Co zrobiem:
Wgrałem na nowo wszystkie pliki common.js , search.tpl
Dopisywałem funkcje szukarnia w subkategoriach i opisach.

btw... Strona: pykosc.nazwa.pl

Wersja Opencart: 1.5.5
barthy
 
Posty: 32
Dołączył(a): 13 maja 2013, o 09:28

Re: Nie działa wyszukiwanie produktów

Postprzez schematx.pl » 4 cze 2013, o 11:55

szukaj problemu w szablonie wyszukiwarki lub kontrolerze - po wyszukiwaniu pole wyszukiwarki u Ciebie pozostaje puste (pozostaje napis: Szukaj) po poprawnym wyszukaniu w polu Szukaj powinna (nawet jesli nie ma produktu w bazie) wyświetlić się szukana fraza - u ciebie jej nie ma, co może oznaczać że wartość pola nie jest pobierana w momencie wyszukiwania.
Zerknij czy w szablonie nagłówka masz na 100% wszystkie skrypty a ich składnia jest poprawna (analogicznie zerknij do footer'a) - często konkretny skrypt pojawia się końcu kodu, kolejna sprawa; jeśli przeszedłeś ze starej wersji i szablon także miałeś dopasowany do starej wersji a teraz wprowadziłeś tylko kilka niezbędnych poprawek to miej na uwadze to, że niektóre skrypty pisane pod 1.4X nie działają pod 1.5X ze względu na zmianę nazw niektórych funkcji.
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Nie działa wyszukiwanie produktów

Postprzez barthy » 4 cze 2013, o 12:04

Szukam i już pomysłów nie mam.
Tak wygląda searchbox

Kod: Zaznacz cały
<?php
               if(($this->config->get('klatki_status')== 1 && $this->config->get('klatki_search_navbar')=='') || $this->config->get('klatki_status')== 0 ) { ?>
               <div class="searchbox">
                  <input type="search" name="filter_name" value="<?php echo $filter_name; ?>" placeholder="<?php echo $text_search; ?>" />
                  <button class="button-search" type="button">
                     <i class="icon-zoomin"></i>
                  </button>
               </div>
               <?php } ?> 



Search.tpl pod linkiem na pokazywarce
http://pokazywarka.pl/mu4aqh/

Czy common.js powinien być zalinkowany w header / footer . tpl?
barthy
 
Posty: 32
Dołączył(a): 13 maja 2013, o 09:28

Re: Nie działa wyszukiwanie produktów

Postprzez schematx.pl » 4 cze 2013, o 12:38

common.js powinien być w header.tpl

masz:
Kod: Zaznacz cały
<input type="search" name="filter_name" value="<?php echo $filter_name; ?>" placeholder="<?php echo $text_search; ?>" />


a powinno być:
Kod: Zaznacz cały
<input type="text" name="filter_name" value="<?php echo $filter_name; ?>" placeholder="<?php echo $text_search; ?>" />


ewentualnie możesz użyć:
Kod: Zaznacz cały
<input type="text" name="search" placeholder="<?php echo $text_search; ?>" value="<?php echo $search; ?>" />
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Nie działa wyszukiwanie produktów

Postprzez barthy » 4 cze 2013, o 13:28

schematx.pl napisał(a):ewentualnie możesz użyć:
Kod: Zaznacz cały
<input type="text" name="search" placeholder="<?php echo $text_search; ?>" value="<?php echo $search; ?>" />


I to rozwiązało sprawę w headerze na górze. Pamięta, wyszukuje... Ale niestety w search.tpl ten zabieg nie przechodzi...
barthy
 
Posty: 32
Dołączył(a): 13 maja 2013, o 09:28

Re: Nie działa wyszukiwanie produktów

Postprzez schematx.pl » 4 cze 2013, o 13:41

ok, podaj zatem mi pełny kod z search.tpl
schematx.pl
 
Posty: 300
Dołączył(a): 21 sty 2013, o 20:11

Re: Nie działa wyszukiwanie produktów

Postprzez barthy » 4 cze 2013, o 13:44

Kod: Zaznacz cały
<?php echo $header; ?>

   <?php echo $content_top; ?>

   <div class="breadcrumb">
      <?php foreach ($breadcrumbs as $breadcrumb) { ?>
         <?php echo $breadcrumb['separator']; ?>
         <a href="<?php echo $breadcrumb['href']; ?>">
            <?php echo $breadcrumb['text']; ?>
         </a>
      <?php } ?>
   </div>

   <div id="notification"></div>

   <?php
   
   if ($column_left || $column_right) { $main = "span9"; }
   else {    $main = "span12"; }

   ?>   

   <div class="row">

      <?php echo $column_left; ?>

      <section id="maincontent" class="<?php echo $main; ?>" role="main">

         <div class="mainborder">
            
            <?php if ($column_left) { ?>
               <div id="toggle_sidebar"></div>
            <?php } ?>

            <header class="heading">
               <h1 class="page-header"><?php echo $heading_title; ?></h1>
            </header>

            <div class="search-criteria">

               <h3><?php echo $text_critea; ?></h3>
                  
               <div class="controls">
                  <input type="search" name="filter_name" id="filter_name" value="<?php echo $filter_name; ?>" class="search-box span6" placeholder="Search" />
               </div>

               <select name="filter_category_id" class="filter-category span4">

                  <option value="0"><?php echo $text_category; ?></option>

                  <?php foreach ($categories as $category_1) { ?>
                     
                     <?php if ($category_1['category_id'] == $filter_category_id) { ?>
                        <option value="<?php echo $category_1['category_id']; ?>" selected="selected"><?php echo $category_1['name']; ?></option>
                     <?php } else { ?>
                        <option value="<?php echo $category_1['category_id']; ?>"><?php echo $category_1['name']; ?></option>
                     <?php } ?>

                     <?php foreach ($category_1['children'] as $category_2) { ?>

                        <?php if ($category_2['category_id'] == $filter_category_id) { ?>
                           <option value="<?php echo $category_2['category_id']; ?>" selected="selected">&nbsp;-&nbsp;<?php echo $category_2['name']; ?></option>
                           <?php } else { ?>
                           <option value="<?php echo $category_2['category_id']; ?>">&nbsp;-&nbsp;<?php echo $category_2['name']; ?></option>
                        <?php } ?>

                        <?php foreach ($category_2['children'] as $category_3) { ?>
                           <?php if ($category_3['category_id'] == $filter_category_id) { ?>
                              <option value="<?php echo $category_3['category_id']; ?>" selected="selected">&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<?php echo $category_3['name']; ?></option>
                           <?php } else { ?>
                              <option value="<?php echo $category_3['category_id']; ?>">&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<?php echo $category_3['name']; ?></option>
                           <?php } ?>
                        <?php } ?>

                     <?php } ?>

                  <?php } ?>

               </select>

               <div class="controls">
                  
                  <label class="checkbox inline">

                     <?php if ($filter_sub_category) { ?>
                        <input type="checkbox" name="filter_sub_category" value="1" id="sub_category" checked="checked" />
                     <?php } else { ?>
                        <input type="checkbox" name="filter_sub_category" value="1" id="sub_category" />
                     <?php } ?>
                     <?php echo $text_sub_category; ?>

                  </label>

                  <label class="checkbox inline">

                     <?php if ($filter_description) { ?>
                        <input type="checkbox" name="filter_description" value="1" id="description" checked="checked" />
                     <?php } else { ?>
                        <input type="checkbox" name="filter_description" value="1" id="description" />
                     <?php } ?>
                     <?php echo $entry_description; ?>

                  </label>

               </div>
         
               <div class="buttons">
                  <input type="button" value="<?php echo $button_search; ?>" id="button-search" class="btn btn-inverse" />
               </div>

            </div>


            <!-- Products
            ============================== -->

            <?php if ($products) { ?>

               <!-- Grid/Lis view, filters
                  ============================== -->

                  <div class="product-filter">

                     <div class="btn-group display" data-toggle="buttons-radio">

                        <button id="grid" class="btn btn-mini" title="<?php echo $text_grid; ?>" onclick="display('grid');">
                           <i class="icon-th"></i>
                        </button>

                        <button id="list" class="btn btn-mini" title="<?php echo $text_list; ?>" onclick="display('list');">
                           <i class="icon-list"></i>
                        </button>

                     </div>

                     <?php if($this->config->get('fortuna_status')== 1 && $this->config->get('fortuna_hide_compare')=='') { ?>
                     <span class="product-compare">
                        <a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a>
                     </span>
                     <?php } ?>
                     
                     <div class="list-options">

                        <div class="sort">

                           <?php echo $text_sort; ?>

                           <select onchange="location = this.value;">
                              <?php foreach ($sorts as $sorts) { ?>
                              <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
                              <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
                              <?php } else { ?>
                              <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
                              <?php } ?>
                              <?php } ?>
                           </select>

                        </div>

                        <div class="limit">

                           <?php echo $text_limit; ?>

                           <select onchange="location = this.value;">
                              
                              <?php foreach ($limits as $limits) { ?>

                                 <?php if ($limits['value'] == $limit) { ?>

                                    <option value="<?php echo $limits['href']; ?>" selected="selected">
                                       <?php echo $limits['text']; ?>
                                    </option>

                                 <?php } else { ?>

                                    <option value="<?php echo $limits['href']; ?>">
                                       <?php echo $limits['text']; ?>
                                    </option>

                                 <?php } ?>

                              <?php } ?>

                           </select>

                        </div>

                     </div>

                  </div>
               
                  <!-- Product list (Default to Grid)
                  ============================== -->

                  <div class="product-grid row-fluid">

                     <?php

                     $counter=0;

                     foreach ($products as $product) {

                        if ($main=='span9') {
                           (($counter+3) % 3 == 0 ) ? $xclass = 'alpha' : $xclass = '' ;
                        } else {
                           (($counter+4) % 4 == 0 ) ? $xclass = 'alpha' : $xclass = '' ;
                        }

                        (($counter+2) % 2 == 0 ) ? $pairclass = 'odd' : $pairclass = '' ;

                     ?>

                     <div class="grid-box <?php echo $xclass; ?>">

                        <div class="inner">

                           <?php if ($product['price'] && $product['special']) { ?>
                              <div class="onsale">
                                 <div class="ribbon">
                                    <?php $this->language->load('module/fortuna');
                                    echo $this->language->get('text_onsale'); ?>
                                 </div>
                                 <div class="ribbonshadow"></div>
                              </div>
                           <?php } ?>

                           <?php if ($product['thumb']) { ?>
                              <div class="image">
                                 <a href="<?php echo $product['href']; ?>">
                                    <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" />
                                    <div class="hoverpattern"></div>
                                 </a>
                              </div>
                           <?php } ?>

                           <div class="name">
                              <a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
                           </div>

                           <?php if ($product['rating']) { ?>
                              <div class="rating">
                                 <img src="catalog/view/theme/fortuna/images/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" />
                              </div>
                           <?php } ?>

                           <div class="description"><?php echo $product['description']; ?></div>

                           <?php if ($product['price']) { ?>

                              <div class="price">
                                 
                                 <?php if (!$product['special']) { ?>
                                    <?php echo $product['price']; ?>
                                 <?php } else { ?>
                                    <span class="price-old"><?php echo $product['price']; ?></span>
                                    <span class="price-new"><?php echo $product['special']; ?></span>
                                 <?php } ?>

                                 <?php if ($product['tax']) { ?>
                                    <br />
                                    <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
                                 <?php } ?>

                              </div>

                           <?php } ?>

                           <div class="actions">

                              <div class="cart">
                                 <a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="btn btn-small btn-cart" ><?php echo $button_cart; ?></a>
                              </div>
                              <?php if($this->config->get('fortuna_status')== 1 && $this->config->get('fortuna_hide_wishlist')=='') { ?>
                              <div class="wishlist">
                                 <a onclick="addToWishList('<?php echo $product['product_id']; ?>');" title="<?php echo $button_wishlist; ?>"><i class="icon-wishlist"></i></a>
                              </div>
                              <?php } ?>
                              <?php if($this->config->get('fortuna_status')== 1 && $this->config->get('fortuna_hide_compare')=='') { ?>
                              <div class="compare">
                                 <a onclick="addToCompare('<?php echo $product['product_id']; ?>');" title="<?php echo $button_compare; ?>"><i class="icon-compare"></i></a>
                              </div>
                              <?php } ?>

                           </div>

                        </div>

                     </div>

                     <?php $counter++; } ?>

                  </div> <!-- .produc-grid -->

                  <div class="paginate"><?php echo $pagination; ?></div>
            
            <?php } else { ?>

               <div class="content empty white">

                  <div class="alert warning"><?php echo $text_empty; ?><a class="close" data-dismiss="alert" href="#">&times;</a></div>

               </div>

            <?php } ?>

         </div>

      </section><!-- #maincontent -->
      
      <?php echo $column_right; ?>

   </div> <!-- .row -->
   
   <?php echo $content_bottom; ?>

   <script type="text/javascript">

      $('#maincontent input[name=\'filter_name\']').keydown(function(e) {
         if (e.keyCode == 13) {
            $('#button-search').trigger('click');
         }
      });

      $('#button-search').bind('click', function() {
         url = 'index.php?route=product/search';
         
         var filter_name = $('#maincontent input[name=\'filter_name\']').attr('value');
         
         if (filter_name) {
            url += '&filter_name=' + encodeURIComponent(filter_name);
         }

         var filter_category_id = $('#maincontent select[name=\'filter_category_id\']').attr('value');
         
         if (filter_category_id > 0) {
            url += '&filter_category_id=' + encodeURIComponent(filter_category_id);
         }
         
         var filter_sub_category = $('#maincontent input[name=\'filter_sub_category\']:checked').attr('value');
         
         if (filter_sub_category) {
            url += '&filter_sub_category=true';
         }
            
         var filter_description = $('#maincontent input[name=\'filter_description\']:checked').attr('value');
         
         if (filter_description) {
            url += '&filter_description=true';
         }

         location = url;
      });

   </script>

<?php echo $footer; ?>

barthy
 
Posty: 32
Dołączył(a): 13 maja 2013, o 09:28

Następna strona

Powrót do Pomoc techniczna przy Opencart

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości

cron