поиск по Virtuemartu

Тема в разделе "Хаки и модификации", создана пользователем galograff, 28.03.2012.

  1. Offline

    galograff Недавно здесь

    Регистрация:
    28.03.2012
    Сообщения:
    6
    Симпатии:
    0
    Пол:
    Мужской
    привет.
    проблема в следующем -----ПОИСК ВЫВОДИТ ВСЕ!!!!!!!
    посмотрите свежим взглядом, мб что упустил.
    переработал стандартную форму вирту_сеача
    вот в такую
    Код (PHP):
    1. <?php
    2. if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
    3. /**
    4. * VirtueMart Search Module
    5. * NOTE: THIS MODULE REQUIRES THE PHPSHOP COMPONENT FOR MOS!
    6. *
    7. * @version $Id: mod_virtuemart_search.php 1159 2008-01-14 20:30:30Z soeren_nb $
    8. * @package VirtueMart
    9. * @subpackage modules
    10. *
    11. * @copyright (C) 2004-2007 soeren
    12. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
    13. * VirtueMart is Free Software.
    14. * VirtueMart comes with absolute no warranty.
    15. *
    16. * www.virtuemart.net
    17. */
    18.  
    19. // Load the virtuemart main parse code
    20. if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
    21.     require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
    22. } else {
    23.     require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
    24. }
    25.    
    26. global $VM_LANG, $mm_action_url, $sess;
    27.  
    28. ?>

    Код (html):
    1. <div align="left">
    2. <br>
    3. <form action="<?php $sess->purl( $mm_action_url."index.php?page=shop.browse" ) ?>" method="post">
    4. <label for="keyword"><?php echo "Район:" ?></label>
    5.         <select class="inputbox" type="text" name="region" size="1">
    6.     <option value="Все районы">Все районы</option>
    7.     <option value="Владимир">Владимир</option>
    8.     <option value="Александровский р-н">Александровский р-н</option>
    9.     <option value="Вязниковский р-н">Вязниковский р-н</option>
    10.     <option value="Гороховецкий р-н">Гороховецкий р-н</option>
    11.     <option value="Гусь - Хрустальный р-н">Гусь - Хрустальный р-н</option>
    12.     <option value="Камешковский р-н">Камешковский р-н</option>
    13.     <option value="Киржачский р-н">Киржачский р-н</option>
    14.     <option value="Ковровский р-н">Ковровский р-н</option>
    15.     <option value="Кольчугинский р-н">Кольчугинский р-н</option>
    16.     <option value="Меленковский р-н">Меленковский р-н</option>
    17.     <option value="Муромский р-н">Муромский р-н</option>
    18.     <option value="Петушинский р-н">Петушинский р-н</option>
    19.     <option value="Селивановский р-н">Селивановский р-н</option>
    20.     <option value="Собинский р-н">Собинский р-н</option>
    21.     <option value="Судогодский р-н">Судогодский р-н</option>
    22.     <option value="Суздальский р-н">Суздальский р-н</option>
    23.     <option value="Юрьев-Польский р-н">Юрьев-Польский р-н</option>
    24. </select>
    25.         &nbsp&nbsp&nbsp
    26. <select class="inputbox" type="text" name="vibor" size="1">
    27.         <option value="Продажа">Продажа</option>
    28.         <option value="Аренда">Аренда</option>
    29. </select>
    30. &nbsp&nbsp&nbsp
    31. <input class="button" type="submit" name="Search" value="Найти" />
    32. </form>
    33. </div>
    34. <!-- End Search Box -->


    создал таблицы region и vibor
    в админке соответственно поковырял product.product_form.php
    добавил поля ps_product.php
    и расковырял
    shop_browse_queries.php

    Код (PHP):
    1. if( !empty($keywordArr) ) {
    2.     $sq = "(";
    3.     $numKeywords = count( $keywordArr );
    4.     $i = 1;
    5.     foreach( $keywordArr as $searchstring ) {
    6.         $sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR ";
    7.         $sq .= "\n `#__{vm}_product`.`product_sku` LIKE '%$searchstring%' OR ";
    8.         $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR ";
    9.         $sq .= "\n `#__{vm}_product`.`pl_uchaske` LIKE '%$searchstring%' OR ";
    10.         $sq .= "\n `#__{vm}_product`.`pl_kv` LIKE '%$searchstring%' OR ";
    11.         $sq .= "\n `#__{vm}_product`.`region` LIKE '%$searchstring%' OR ";
    12.         $sq .= "\n `#__{vm}_product`.`cena` LIKE '%$searchstring%' OR ";
    13.         $sq .= "\n `#__{vm}_product`.`kl_komnat` LIKE '%$searchstring%' OR ";
    14.         $sq .= "\n `#__{vm}_product`.`etaj` LIKE '%$searchstring%' OR ";
    15.         $sq .= "\n `#__{vm}_product`.`vibor` LIKE '%$searchstring%' OR ";
    16.         $sq .= "\n `#__{vm}_product`.`tip` LIKE '%$searchstring%' OR ";
    17.         $sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') ";
    18.  
    19.    
    20.         if( $i++ < $numKeywords ) {
    21.             $sq .= "\n  AND ";
    22.         }
    23.     }
    24.     $sq .= ")";
    25.     $where_clause[] = $sq;
    26. }  
    27. // Process the advanced search
    28. elseif( !empty($keyword1Arr) ) {
    29.     $sq = "(";
    30.     $numKeywords = count( $keyword1Arr );
    31.     $i = 1;
    32.     foreach( $keyword1Arr as $searchstring ) {
    33.         switch($search_limiter) {
    34.             case "name":
    35.             $sq .= "\n `#__{vm}_product`.`product_name` LIKE '%$searchstring%' ";
    36.             break;
    37.         case "cp":
    38.             $sq .= "\n `#__{vm}_product`.`product_url` LIKE '%$searchstring%' ";
    39.             break;
    40.         case "desc":
    41.             $sq .= "\n (`#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR ";
    42.             $sq .= "\n `#__{vm}_product`.`pl_uchaske` LIKE '%$searchstring%' OR ";
    43.             $sq .= "\n `#__{vm}_product`.`pl_kv` LIKE '%$searchstring%' OR ";
    44.             $sq .= "\n `#__{vm}_product`.`region` LIKE '%$searchstring%' OR ";
    45.             $sq .= "\n `#__{vm}_product`.`cena` LIKE '%$searchstring%' OR ";
    46.             $sq .= "\n `#__{vm}_product`.`kl_komnat` LIKE '%$searchstring%' OR ";
    47.             $sq .= "\n `#__{vm}_product`.`etaj` LIKE '%$searchstring%' OR ";
    48.             $sq .= "\n `#__{vm}_product`.`vibor` LIKE '%$searchstring%' OR ";
    49.             $sq .= "\n `#__{vm}_product`.`tip` LIKE '%$searchstring%' OR ";
    50.             $sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') ";
    51.             break;
    52.         default:
    53.             $sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR ";
    54.             $sq .= "\n `#__{vm}_product`.`product_url` LIKE '%$searchstring%' OR ";
    55.             $sq .= "\n `#__{vm}_category`.`category_name` LIKE '%$searchstring%' OR ";
    56.             $sq .= "\n `#__{vm}_product`.`product_sku` LIKE '%$searchstring%' OR ";
    57.             $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR ";
    58.             $sq .= "\n `#__{vm}_product`.`pl_uchaske` LIKE '%$searchstring%' OR ";
    59.             $sq .= "\n `#__{vm}_product`.`pl_kv` LIKE '%$searchstring%' OR ";
    60.             $sq .= "\n `#__{vm}_product`.`region` LIKE '%$searchstring%' OR ";
    61.             $sq .= "\n `#__{vm}_product`.`cena` LIKE '%$searchstring%' OR ";
    62.             $sq .= "\n `#__{vm}_product`.`kl_komnat` LIKE '%$searchstring%' OR ";
    63.             $sq .= "\n `#__{vm}_product`.`etaj` LIKE '%$searchstring%' OR ";
    64.             $sq .= "\n `#__{vm}_product`.`vibor` LIKE '%$searchstring%' OR ";
    65.             $sq .= "\n `#__{vm}_product`.`tip` LIKE '%$searchstring%' OR ";
    66.             $sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') ";
    67.         }
    68.         if( $i++ < $numKeywords ) {
    69.             $sq .= "\n  AND ";


    если еще какая инфа нужна скажите выложу..
     
  2.  

Поделиться этой страницей

Загрузка...