VirtueMart Forum

VirtueMart Dev/Coding Central: VM1 (old version) => VirtueMart Extensions Directory => Topic started by: Tresan on February 19, 2009, 19:53:29 pm

Title: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on February 19, 2009, 19:53:29 pm
redVMPRODUCTFINDER (http://extensions.virtuemart.net/index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=81&Itemid=2) is a brand new Joomla 1.5 native MVC component for VirtueMart that allows you to build your own virtual search engine for your webshop or webshopcatalog.

Install the component and in seconds you can be on your way in building you own front end search engine for VirtueMart - and the best of it all is we havent changed a single line of code in VirtueMart!

redVMPRODUCTFINDER (http://extensions.virtuemart.net/index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=81&Itemid=2) has native SEF support and generates on the fly SEF urls for all search resultats so you can use it to create your own custom virtual categories for your webshop along with creating an ocean of pure searchablility for your webshop.

Make it possible to search on Size, Colors, Flavours, Material, Price Ranges or what ever you feel would make it easier for your webshop users to find what they are looking for using redVMPRODUCTFINDER (http://extensions.virtuemart.net/index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=81&Itemid=2)!

redVMPRODUCTFINDER (http://extensions.virtuemart.net/index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=81&Itemid=2) includes the following features:

and much more...
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: xclusive on February 20, 2009, 02:36:36 am
good extension but again, you've to pay for it :(
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on February 20, 2009, 09:50:42 am
You dont pay for any extension on redCOMPONENT.com (http://redcomponent.com) you pay for a subscription - the income on the subscriptions is what makes it possible to keep an extremely high level of quality, service, support and updates to our extension.

You cant have multiple people working close to full time with no money to fund it all :) then you just end up with a spare time project that get updated twice a year and not like our extensions that has been update more then 50 times the last 3 months.  :)
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: VMone on February 24, 2009, 22:20:53 pm
good extension but again, you've to pay for it :(
Who ever said, extensions must be free? It is from my view about what costs money and what should be available for free. Extensions can be commercial, we work here on a commercially used software, but those core hacks the developers missed out on including right away, those should be given free to users whithout that we need to pay horrendous fees to VM Programmers. Got it? Think so, thanks!
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: VMone on February 24, 2009, 22:31:50 pm
I have an important question indeed as I look for a good solution like this.

How does the component work? Will I have to add certain information to the products individually? I do not use product types or whatever information as with the amount of products, not downloadable products, it is not possible to get those csvs with more than the wholesaler provides in information.


 - redVMPRODUCTFINDER has native SEF support and generates on the fly SEF urls for all search resultats so you can use it to create your own custom virtual categories for your webshop along with creating an ocean of pure searchablility for your webshop. -

What do you mean with that exactly? Can I literally throw away categories like they are right now and route users on new ones I create with this component. The case is, I need a solution that shows users whenever using a parent cat, all the products of it, I mean also all the products located in the various sub, subsub, subsubsub cats and so on on the browsepage right away and users could use the subcat links to define the search. I can't let users click through several empty categories, from one sub cat to another before they finally see products. Is this possible? I ask as if it is possible, I can save me the core hacking to make it possible the coding way, which whould be very useful, especially as programmers like to charge 200€ for such still simple core hack.

Thanks!

Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on February 26, 2009, 14:28:26 pm
Its all virtual and not a single line of code has been altered in VirtueMart.

This means you can asociate your product to each specific tag for search type.

So you create Types, Tags and Asociations and then it works like that.

Do look on http://www.redcomponent.com/redvmproductfinder for images of the backend.

The SEF urls can not generate categories to show all products matching - but by using the productfinder you can actually do listnings as if they where virtual categories - we have a small demo on demo.redcomponent.com (not much yet and 1 product but you can see the basics).
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: VMone on February 26, 2009, 21:25:22 pm
Thanks, with this reasonable price for one shop, I may purchase a subscription anyway, thanks for taking the time to answer inhere... ;)
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: aravot on February 26, 2009, 22:35:43 pm
actual live demo (for all your products) would be better than images.
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on February 28, 2009, 21:18:55 pm
I will put one of my employees on the demosite on monday and do it more extensively so it makes it easier to see how they work in the frontend :)
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: VMone on March 05, 2009, 19:25:01 pm
The component looks well made, only thing is, maybe this is some issue that can be solved is, there is no module included one can place anywhere on the site like in the left column instead of the regular search module for VM etc.. Or is there a solution to do this somehow? Right now the only way seems to be to use a main menu link to route on the component but not some sleak module to find a place anywhere.

On the other side it is still a lot of work when you have a lot of products, as one still needs to associate any single product with a search tag or am I wrong with this?

Well, I had the thought it is more a module that one defines certain terms and tags only and than the module looks for those in the description or title of the products. It seems to me by now that I still would have to add certain tags or add the products one by one to the component and this is not working out for me, as I have more than 10,000 products and no slave to do this work. ::)

I hope I have missed out on something and maybe some of the devs can clarify this issue for me, let's see.


Thanks!
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: korb on March 05, 2009, 19:32:14 pm
can this component get connected to product types?
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on March 05, 2009, 23:49:55 pm
It isnt meant to connect to product types - instead you create your own search types.

What this component does it allow you to create your own virtual search engine for your VM website.

So you create the search types and the tags for each search type and then you associate each product in VM invidually.

Lets say you have created 10 search types and an avg. 5 tags per search type then you go under associations and make a new one by selecting the product in a dropdown (lists all VM products) and then you click on the search types you wish to associate with it and each tag in each search type.

This extension does not use the internal fields or values of VirtueMart instead it allows you to virtually build a search engine independantly of VM (and the VM code).

This also means that if you have 50.000 products perhaps there is a smarter way of going around things but if you have less products it sure is a damn smart way of creating virtual listnings of products - that can be combined in any way what so ever depending on how you create the search types and tags and chose to associate the products to it.

By generating on the fly SEF urls (sh404sef supported) it even means that your search resultats will be SEF supported so that it builds the url structure to be like

url.com/searchtypename/searchtagsselectedname/searchtypename/searchtagselectedname

Lets say you have create the following 2 search types:

1) Agegroup
2) Color

And then under the search types you create the following tags:

1-5, 6-10, 11-15, 16-20
Red, Blue, Green

Then when people search (and you have associated products to it) the sef urls will become like

url.com/agegroup/1-5/color/blue

or with multiple options (radios)

url.com/agegroup/1-5/6-10/color/blue/red

We will look into building a module / content includer or something equilent for the component in near future.

But to sum it up - yes you will need to create the search types, tags and associations manually - but the advantage of doing this independantly of the actual VM shop and code is that you can do virtually any form of listing / search, even on parameters (search types) that would not relate to your actual products or product descriptions.
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: korb on March 06, 2009, 00:36:21 am
Well this seem to be the hell of a good search engine. SEF friendly...
OK
Allow me to ask more questions:
-How can I connect this module to have special parameters for each category?
-I've seen the screenshots but I haven't got the chance to test it, and I need something like this to connect automaticaly to categories I browse and show the parameters for that category...
-I have to define the parameter values for each product exactly like I would do it with product type? I mean I already have parameter values defined for all my 700 products, but this was easilz done using CSVi, but what about this component and my 700 products?
-I would like this to replace product types because of failures with sef and the difficulty to manage. Would you do that?...
-Is it possible to search by price range?
-How can I contribute to this? I am very interested in this development and I can contribute with my experience both in VM and sh404SEF and other skills, and I'm so sick of product types...
Danny
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on March 06, 2009, 11:01:37 am
Ive have a redVMPRODUCTFINDER+ planned but it will take some weeks (or maybe a tad more) to get time to do finish it up.

The plan involves loading up the search forms trough a content plugin so they can be placed in the category descriptions and also give the ability to create different search forms (fronts) so that you can customize one for each main category of your webshop.

Since this is completely virtual we dont use the actual products nor descriptions or any other data from the actual product in VM to anything - we associate it how we want it to work. This ofcause has both cons and pros but the concept was that by virtualizing the search engine you could get closer to an effecient search engine for your webshop by allowing people to search across and beyond actual product info so that they can say pick properties of a matching product or search on custom correlations of use and all those other instances where it is actually possible to bring out an effective search engine for the customers by thinking beyond there normal parameters.

You could actually allready now pretty much create and entire front for VM by doing a simple templateoverride on the output of the search result and by doing some itemid checks on the actual search form page and then just use all the sef urls from the searches to create the actual linking internally on the site - not saying its ideal yet but it is actually possible to do a frontend load on VM that bypasses the entire main page and category views in VM using redVMPRODUCTFINDER.

I have sent you a pm in regards to contributing - we really like to see engaged people like yourself beeing part of what we do :)
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on May 09, 2009, 17:05:30 pm
Release: redVMPRODUCTFINDER Component 1.3.1 Stable

New features:


So now you can create individual search forms for each category or part of your website and insert the forms inside the category descriptions in VM making the redVMPRODUCTFINDER a modular search frontend end that is still all virtual but will allow you to build searchability in your webshop beyond what has been seen before for VM.

Notes:

Uninstall old component and install new one.

The new plugin will install automatically when installing the component.
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: snip07 on May 29, 2009, 15:04:48 pm
Any similar extension with this but is for free?
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: korb on June 25, 2009, 15:44:25 pm
Hi
Product Types gives same feature, it is not SEF compatible, but you can use CSVI for faster "parameters" setting.

Danny
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on August 28, 2009, 12:54:29 pm
1.4 release out

Releases:

com_redvmproductfinder_1.4.tar.gz

Download:

download here

Changelog:

+ Added clone option
+ Added attribute import from VirtueMart
* Fixed a number of undefined errors
- Removed hardcoded page title
+ Added CSS tags
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Martyn Batten on August 28, 2009, 15:50:16 pm
I brought this and found it to be too complicated. Unistalled, cancelled subscription and wrote my own solution... Teach me to find a quick way round a solution.....
Title: Re: redVMPRODUCTFINDER - Build your own VM search engine!
Post by: Tresan on August 28, 2009, 16:53:21 pm
I find it hard to see its complicated :)

I mean

1) Create a search form
2) Create some search types (i.e. color and size)
3) Create some search options (i.e. blue, red and small, medium)
4) Associate your products to the options per search type (i.e. product1 associated to red and small).

Insert tag for searchform into any content in Joomla or VM and see your new productfinder in action.

Its basicly extremely simple to use - but perhaps your needs did not match what the component does.
Title: Add 'Add to cart' box in results page of redVMProductFinder
Post by: nrgiser on November 07, 2009, 14:50:38 pm
Hi,

I'm using redVMProductfinder to have a better search form in my shop. Since this component doesn't use the flypage and the browse page that is configured in VM I had to change the template of the result page from the component. I succeeded for 90% but the last step is to add the 'Add to cart' box next to every result. In the template I use in VM I just had to add 'echo $form_addtocart;' to get this working but when I try this in the template of the component, nothing happens.
I guess this is because the variable '$form_addtocart' is empty (or not known) in this template.

So the question is... What do I have to do to be able to use 'echo $form_addtocart;' in the template? Do I have to include something? Do I have to copy lines of code?

This is the code in the results page:

Code: [Select]
<?php
/** 
 * @copyright Copyright (C) 2008-2009 redCOMPONENT.com. All rights reserved. 
 * @license can be read in this package of software in the file license.txt or 
 * read on http://redcomponent.com/license.txt  
 * Developed by email@recomponent.com - redCOMPONENT.com 
 */

defined('_JEXEC') or die('Restricted access');
$config JComponentHelper::getParams('com_redvmproductfinder'); 

echo 
JText::_('SEARCH_RESULTS')."(".count($this->searchresult['products']).")";

if (
count($this->searchresult) > 0) {
foreach ($this->searchresult['scores'] as $assoc_id => $score) { 
if (array_key_exists($assoc_id$this->searchresult['products'])) {
?>


<?php
$product_name $this->searchresult['products'][$assoc_id]->product_name;
// Ik heb in product_desc meerdere gegevens gestopt gescheiden door µ
$allFields explode("µ"$this->searchresult['products'][$assoc_id]->product_desc);
$Domaine substr($allFields[1], 0strlen($allFields[1]) - 1);
$Appelation substr($allFields[4], 0strlen($allFields[4]) - 1);
$Millesime substr($allFields[3], 0strlen($allFields[3]) - 1);
$Couleur substr($allFields[2], 0strlen($allFields[2]) - 1);
$Ref substr($allFields[5], 0strlen($allFields[5]) - 1);
$Stock substr($allFields[6], 0strlen($allFields[6]) - 1);
?>


<div class="productfinder_product">

<div style="width: 100%; border-bottom: 1px outset #000000"> <!-- Main Div -->
<div style="float: left; width: 100%; height: 25px; padding-top: 5px"> <!-- Product Name -->
<a style="font-size:18px; font-weight:bold;" href="<?php echo JRoute::_('index.php?option=com_virtuemart&product_id='.$this->searchresult['products'][$assoc_id]->product_id.'&page=shop.product_details');?>"><?php echo $product_name ?></a>
</div> <!-- End of Product Name -->

<div style="float: left; width: 15%; height: 100px; padding-bottom: 5px"> <!-- Thumbnail -->
<a href="<?php echo JRoute::_('index.php?option=com_virtuemart&product_id='.$this->searchresult['products'][$assoc_id]->product_id.'&page=shop.product_details');?>">
<img src="<?php echo JURI::root().'components/com_virtuemart/shop_image/product/'.$this->searchresult['products'][$assoc_id]->product_thumb_image?>" alt="<?php echo $this->searchresult['products'][$assoc_id]->product_name?>" title="<?php echo $this->searchresult['products'][$assoc_id]->product_name?>"/>
</a>
</div> <!-- End of Thumbnail -->

<div style="float: left; width: 35%"> <!-- Properties -->
<div style="height: 25px; color: #961414">
<?php echo $Domaine ?>
</div>

<div style="height: 25px; color: #961414">
<?php echo $Appelation ?>
</div>

<div style="height: 25px; color: #961414">
<?php echo $Millesime ?>
</div>

<div style="height: 25px; color: #961414">
<?php echo $Couleur ?>
</div>

</div> <!-- End of Properties -->

<div style="float: left; width: 20%"> <!-- Reference and Stock -->

<div style="height: 50px; color: #961414">
<?php echo "Ref: ".$Ref ?>
</div>

<div style="height: 50px; color: #961414">
<?php 
if ($this->searchresult['products'][$assoc_id]->product_in_stock >0)
{
$Amount " (".$this->searchresult['products'][$assoc_id]->product_in_stock.")";
}
else
{
$Amount "";
}
echo $Stock.$Amount;
?>

</div>

</div> <!-- End of Reference and Stock -->

<div style="float: left; width: 25%"> <!-- Sub Price and Cart -->

<div style="height: 40px; color: #961414" align="right"> <!-- Price -->
<font size="4" align="right">
<b>
<i>
<?php 

$product_price $this->searchresult['products'][$assoc_id]->product_price ;
echo "&euro;".number_format($product_price,2);
?>

</i>
</b>
</font>
</div>

<div style="height: 60px"> <!-- Cart -->
<?php 
echo $form_addtocart;
?>

</div>

</div> <!-- End of Price and Cart -->
</div> <!-- End of Main Div -->
<div style="clear:left;" class=hr><hr /></div>

</div>

<?php }
}

else { ?>


<div class="productfinder_product">
<?php echo JText::_('NO_PRODUCTS_FOUND'); ?>
<div style="clear:left;" class=hr><hr /></div>
</div>

<?php 


$returnurl JRequest::getVar('returnurl'false);
if (
$returnurl$submiturl JRoute::_(urldecode($returnurl));
else 
$submiturl JRoute::_('index.php');

?>


<form name="adminForm" method="post" action="<?php echo $submiturl?>">
<?php if (!$returnurl) { ?>
<input type="hidden" name="option" value="com_redvmproductfinder" />
<input type="hidden" name="task" value="redvmproductfinder" />
<input type="hidden" name="controller" value="redvmproductfinder" />
<?php
}
$post JRequest::get('request');
/* Create a link to get back to this result */
$geturl 'index.php?option=com_redvmproductfinder&task=findproducts&view=redvmproductfinder&layout=redvmproductfinder&Itemid='.JRequest::getInt('Itemid');
foreach (
$post as $key => $value) {
if (stripos($key'type') !== false) {
if (is_array($value)) { 
foreach ($value as $vkey => $vvalue) { 
$geturl .= '&'.$key.'[]='.$vvalue;
?>

<input type="hidden" name="<?php echo $key?>[]" value="<?php echo $vvalue?>" />
<?php }
}
else {
$geturl .= '&'.$key.'='.$value;
?>

<input type="hidden" name="<?php echo $key?>" value="<?php echo $value?>" />
<?php }
}
}
?>

<div id="link_search"><input type="submit" name="submit" value="<?php echo JText::_('SEARCH_AGAIN'); ?>" /></div>
<div id="link_result"><?php echo JHTML::_('link'JRoute::_($geturl), JText::_('LINK_THIS_RESULT')); ?></div>
<?php

if ($returnurl) {
?>

<div id="link_returnurl"><?php echo JHTML::_('link'urldecode($returnurl), JText::_('LINK_RETURN')); ?></div>
<?php
}
?>

</form>


Tx.

Jan.