PDA

Zobacz pełną wersję : Zaawansowana wyszukiwarka produktów



Mateluta
12-01-2011, 21:56
Witam serdecznie, mam konkretny problem. Szukam wyszukiwarki do Virtuemart, która pozwala wyszukać produkty wg następujących parametrów:
1. Wybór podkategorii (najlepiej w takim formacie, że z rozwijanego comboboxa kategorie główne sa wytłuszczone, a poniżej znajdują się podkategorie niewytłuszczone i lekko przesuniete, aby łatwo odróżnić, które pozycje to kategorie, a które podkategorie).
2. Dostępność
3. Producent
4. 2 pola: Cena od - Cena do
5. I jeszcze jeden parametr: Sortuj wg...


Jak się do tego zabrać? Rozumiem, że takiego idealnie dopasowanego modułu nie znajde. W taki razie pytanie co i jak przerobić? Moduł zaawansowanego wyszukiwania w module mod_virtuemart? Jak dobrać się do zmiennych pobierających z bazy danych potrzebne informacje takie jak lista producentów? Gdzie mmogę znaleźć potrezbne informacje jesli sam chciałbym zmodyfikować moduł wyszukiwania? Za wszelkie porady z góry bardzo dziękuję

Mateluta
14-01-2011, 17:26
Hej! Kurczę pieczonę nikt nie odpisuje... Czy nikt z Was nigdy nie potrzebował takiej wyszukiwarki? Może powiedzcie jak Wy to robicie, jakich wyszukiwarek używacie, co modyfikujecie, jakie pliki... Każdy strzęp informacji jest na wagę złota...

Robster
14-01-2011, 17:33
Sprawdzałeś tutaj (http://extensions.joomla.org/search?q=virtuemart+search)? W tych wynikach jest chociażby to (http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-products-search/8396?qh=YTo3OntpOjA7czoxMDoidmlydHVlbWFydCI7aToxO3 M6Njoic2VhcmNoIjtpOjI7czo4OiJzZWFyY2hlZCI7aTozO3M6 OToic2VhcmNoaW5nIjtpOjQ7czo4OiJzZWFyY2hlcyI7aTo1O3 M6Nzoic2VhcmNocyI7aTo2O3M6MTc6InZpcnR1ZW1hcnQgc2Vh cmNoIjt9). Wystarczy podpatrzeć demo lub samemu zainstalować dodatki i się przekonać czy spełnia nasze wymagania.

Mateluta
14-01-2011, 17:51
Sprawdzałeś tutaj (http://extensions.joomla.org/search?q=virtuemart+search)? W tych wynikach jest chociażby to (http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-products-search/8396?qh=YTo3OntpOjA7czoxMDoidmlydHVlbWFydCI7aToxO3 M6Njoic2VhcmNoIjtpOjI7czo4OiJzZWFyY2hlZCI7aTozO3M6 OToic2VhcmNoaW5nIjtpOjQ7czo4OiJzZWFyY2hlcyI7aTo1O3 M6Nzoic2VhcmNocyI7aTo2O3M6MTc6InZpcnR1ZW1hcnQgc2Vh cmNoIjt9). Wystarczy podpatrzeć demo lub samemu zainstalować dodatki i się przekonać czy spełnia nasze wymagania.

Te wszystkie rozszerzenia przeszukałem milion dwieście razy... Sęk w tym, że jeden moduł, który spełnia moje oczekiwania, jest płatny... Ehh, jakoś sobie poradzę...Chciałem samemu zmodyfikować standardowe wyszukiwanie rozszerzone, ale cały ten Virtuemart jest troszkę zagmatwany i dojście do tego co i z czym zajęłoby mi trochę czasu...

Robster
14-01-2011, 18:26
(...)dojście do tego co i z czym zajęłoby mi trochę czasu...

3 zdanie w mojej stopce :)

Mateluta
14-01-2011, 18:33
3 zdanie w mojej stopce :)


No dzięki wielkie:DD

Mateluta
20-01-2011, 21:07
Hej! Dalej problem neirozwiązany... Już stałem się mniej wybredny - chciałem do wyszukiwania zaawansowanego dodać dodatkowo wyszukiwanie wg producentów (manufacturer) tak, ze np wybieram podkategorię produktów C i producenta H. Zrobiłem tak, że w pliku shop.search.php dodałem taką linię:

<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
*
* @version $Id: shop.search.php 1526 2008-09-15 19:21:43Z soeren_nb $
* @package VirtueMart
* @subpackage html
* @copyright Copyright (C) 2004-2008 soeren - All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
*
* http://virtuemart.net
*/
mm_showMyFileName( __FILE__ );

$mainframe->setPageTitle( $VM_LANG->_('PHPSHOP_ADVANCED_SEARCH') );
$mainframe->appendPathWay( $VM_LANG->_('PHPSHOP_ADVANCED_SEARCH') );


require_once( CLASSPATH .'ps_product_category.php'); $ps_product_category = new ps_product_category();
require_once( CLASSPATH .'ps_manufacturer.php'); $ps_manufacturer = new ps_manufacturer();
?>



<a href="<?php echo $sess->url( $mm_action_url.basename($_SERVER['PHP_SELF']).'?page=shop.parameter_search' ) ?>">
<h3><?php echo $VM_LANG->_('PHPSHOP_ADVANCED_SEARCH') ?></h3>
</a>

<div id="wyszukiwanie_zaawansowane">

<!-- body starts here -->


<form action="<?php echo URL ?>index.php" method="get" name="adv_search" onsubmit="var p=new RegExp('(.*?),',['i']);var m=p.exec(this.search_category.value);if(m.length>0){this.category_id.value=m[1];}return true;">
<input type="hidden" name="category_id" value="" />
<input type="hidden" name="page" value="shop.browse" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />

<p>Wpisz szukaną frazę:
<input class="fraza1" type="text" name="keyword1" size="45"/>
</p>
<p>
<select type="hidden" class="opcja" name="search_op">
<option value="and"><?php echo $VM_LANG->_('PHPSHOP_SEARCH_AND') ?></option>
<option value="and not">BEZ SŁOWA</option>
</select>
</p>
<p>Wpisz drugą frazę (opcjonalnie):
<input type="text" class="fraza2" name="keyword2" size="45" />
</p>
<p>Wybierz podkategorię:
<select class="podkategoria" name="search_category">
<option value=0>Wszystkie kategorie</option>
<?php $ps_product_category->list_tree(); ?> </select>
<?php
// Show only top level categories and categories that are
// being published
$q = "SELECT category_id,category_name FROM #__{vm}_category ";
$q .= "WHERE category_publish='Y'";
$q .= "ORDER BY category_name ASC";
$db->query($q);

?>
</p>
<p><span>Wybierz producenta:</span>
<?php $ps_manufacturer->list_manufacturer(); ?> <!--Wybór producenta w wyszukiwaniu zaawansowanym-->
</p>


<!--<select class="inputbox" name="search_limiter">
<option value="anywhere"><?php //echo $VM_LANG->_('PHPSHOP_SEARCH_ALL_PRODINFO') ?></option>
<option value="name"><?php //echo $VM_LANG->_('PHPSHOP_SEARCH_PRODNAME') ?></option>
<option value="cp"><?php //echo $VM_LANG->_('PHPSHOP_SEARCH_MANU_VENDOR') ?></option>
<option value="desc"><?php //echo $VM_LANG->_('PHPSHOP_SEARCH_DESCRIPTION') ?></option>
</select>
<br /><br />-->

<input type="submit" class="button" name="search" value="<?php echo $VM_LANG->_('PHPSHOP_SEARCH_TITLE') ?>" />


<?php //echo $VM_LANG->_('PHPSHOP_SEARCH_TEXT2') ?>

<?php //echo $VM_LANG->_('PHPSHOP_SEARCH_TEXT1') ?>


</form>
<script type="text/javascript">
document.adv_search.keyword1.select();
document.adv_search.keyword1.focus();
</script>
</div>


Dodałem linię:

<p><span>Wybierz producenta:</span>
<?php $ps_manufacturer->list_manufacturer(); ?> <!--Wybór producenta w wyszukiwaniu zaawansowanym-->
</p>

I efekt jest taki, ze w wynikach na początku pokazuje ładnie to co ma pokazać, czyli produkty danego producenta danej podkategorii, jednak później (poniżej) w dalszej kolejności wyświetla mi listę wszystkich produktów danego producenta bez uwzględnienia podkategorii... Prawie działa... ktoś wie jak ten szkopuł usunąć? W Internecie dostepnych jest kilka pdoobnych zaawansowanych wyszukiwarek tego typu, ale cena zaczyna się od 100 zł... Jeśli ktoś robił taką wyszukiwarkę, bardzo proszę o jakieś wskazówki