Sean Raviolli
Members-
Posts
14 -
Joined
-
Last visited
Profile Information
-
Location
United States
-
Activity
Web development agency
Recent Profile Visitors
2,406,071 profile views
Sean Raviolli's Achievements
Newbie (1/14)
1
Reputation
-
Sean Raviolli started following pixelwebmx
-
pixelwebmx started following Sean Raviolli
-
Thanks for the reply. Actually I'm looking to recruit someone to take care of it ;-) that's why I posted here.
-
Hi Everyone! This is my website: http://www.partsgalaxy.com/ We are an after market auto parts company. We are looking for SEO professionals to do both native SEO (on the website) and also the Google thing (social presence, back links, articles, stuff). WE NEED SOMEONE WITH KNOWLEDGE OF PRESTASHOP SOFTWARE. I want everything be done (as possible) with presta's native tools. All the products, categories and stuff must be tagged and also content must be revised with keywords and pictures. You will be in charge of checking your competitors websites and finding keywords. We are targeting English and Spanish in California. My initial bid is about 400$. This is an ongoing project and there is a possibility for direct hire. Thanks! You can either message me here or email me directly at anoosh _AT_ webcook.net
-
Need a modules for auto (car) parts
Sean Raviolli replied to Sean Raviolli's topic in Configuring and using PrestaShop
And this to GENERATE those requests. i modified my blockcategories from my theme, but should be applicable to default module as well: {$showMMY = !($page_name == 'category' || $page_name == 'product')} <!-- straight up JS to make MMY working. --> {if $showMMY } {literal} <script type='text/javascript'> $(document).ready(function() { // make sure we are on the same page if ( $('ul.mmy-selector').length > 0 ){ // Change page's name $('#top-categ').find('span').text('Make, Model, Year Search'); // load the makes initially. $.ajax({ url: '/modules/blocklayered/blocklayered-ajax-r.php', data: {mode: 4}, type: "POST", dataType: "JSON", success: function (makes){$.each (makes, function (){ // Append the option bar $('#make-selector') .append($("<option></option>") .attr("value",this.id_attribute) .text(this.name)); }); $('#make-selector').parent().find('.mmy-loader').hide(); }, }); // Bind event to this one's change attr and fill up the models $(document).on('change', '#make-selector', function(){ $('#model-selector').parent().find('.mmy-loader').show(); // Send another AJAX request with mode 5 (model) and key 4 (make) $.ajax({ url: '/modules/blocklayered/blocklayered-ajax-r.php', data: {mode: 5, make: $('#make-selector').val()}, type: "POST", dataType: "JSON", success: function (models){ // remove previous options rather than nullifier $('#model-selector') .find('option') .remove() .end() .append('<option disabled="disabled" selected="selected">Select...</option>'); $.each (models, function (){ // Append the option bar $('#model-selector') .append($("<option></option>") .attr("value",this.id_attribute) .text(this.name)); }); $('#model-selector').parent().find('.mmy-loader').hide(); }, }); }); // Bind event to model change. pick up years and we're ready to go $(document).on('change', '#model-selector', function(){ $('#year-selector').parent().find('.mmy-loader').show(); // Send another AJAX request with mode 5 (model) and key 4 (make) $.ajax({ url: '/modules/blocklayered/blocklayered-ajax-r.php', data: {mode: 6, make: $('#make-selector').val(), model: $('#model-selector').val()}, type: "POST", dataType: "JSON", success: function (years){ // remove previous options rather than nullifier $('#year-selector') .find('option') .remove() .end() .append('<option disabled="disabled" selected="selected">Select...</option>'); $.each (years, function (){ // Append the option bar $('#year-selector') .append($("<option></option>") .attr("value",this.id_attribute) .text(this.name)); }); $('#year-selector').parent().find('.mmy-loader').hide(); }, }); }); // Bind event to the button $(document).on('click', '#mmy-go', function(){ if ($("#make-selector ")[0].selectedIndex <= 0) { $("#make-selector").prev().css({color:'red'}); return false; } if ($("#model-selector ")[0].selectedIndex <= 0) { $("#model-selector").prev().css({color:'red'}); return false; } if ($("#year-selector ")[0].selectedIndex <= 0) { $("#year-selector").prev().css({color:'red'}); return false; } // Down here everything is fine, we can simply go var searchString = $('#make-selector option:selected').text() + ' ' + $('#model-selector option:selected').text() + ' ' + $('#year-selector option:selected').text() ; // paste it into the search box $('#search_query_top').val(searchString); // hit submit $('#search_query_top').next().click(); }); // End ready and if } }); </script> {/literal} {/if} <!-- Block categories module --> <div id="categories_block_left" class="demo-container block"> <div class="tptn-vertical-mega-menu"> {if $showMMY } <!-- Do the triple level select boxes and a submit button for MMY search --> <ul id="mega-1" class="menu right mmy-selector"> <li> <a href="#"> <label for="make-selector">Make: </label> <select name="make-selector" id="make-selector"> <option disabled="disabled">Select...</option> </select> <img src="{$img_ps_dir}mmy-loader.gif" class="middle mmy-loader" alt="" id="stores_loader" /> </a> </li> <li> <a href="#"> <label for="model-selector">Model: </label> <select name="model-selector" id="model-selector"> <option disabled="disabled">Select Make.</option> </select> <img src="{$img_ps_dir}mmy-loader.gif" class="middle mmy-loader" alt="" id="stores_loader" style="display: none; !important;" /> </a> </a> </li> <li> <a href="#"> <label for="year-selector">Year: </label> <select name="year-selector" id="year-selector"> <option disabled="disabled">Select Make.</option> </select> <img src="{$img_ps_dir}mmy-loader.gif" class="middle mmy-loader" alt="" id="stores_loader" style="display: none; !important;" /> </a> </a> </li> <li> <a href="#"> <button id="mmy-go"> Find my Part</button> </a> </li> </ul> {else} <ul id="mega-1" class="menu right"> {foreach from=$blockCategTree.children item=child name=blockCategTree} {if $smarty.foreach.blockCategTree.last} {include file="$branche_tpl_path" node=$child last='true'} {else} {include file="$branche_tpl_path" node=$child} {/if} {/foreach} </ul> {/if} </div> </div> <!-- /Block categories module --> -
Need a modules for auto (car) parts
Sean Raviolli replied to Sean Raviolli's topic in Configuring and using PrestaShop
Yes. Basically, I added a file to handle AJAX requests in blocklayered module: <?php include(dirname(__FILE__).'/../../config/config.inc.php'); include(dirname(__FILE__).'/../../init.php'); // What mode are we running $myMode = (int)Tools::getValue('mode'); // params $myMake = (int)Tools::getValue('make'); $myModel = (int)Tools::getValue('model'); if ($myMode){ switch ($myMode){ case 4: echo json_encode(getMakes()); break; // Models case 5: echo json_encode(getModels($myMake)); break; // Years: case 6: echo json_encode(getYears($myMake, $myModel)); break; } } return true; /* functions */ // Get all makes by cross joining products table function getMakes(){ $makes = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT al.id_attribute, al.name FROM ps_attribute_group ag JOIN ps_attribute a ON (a.id_attribute_group = ag.id_attribute_group) JOIN ps_attribute_lang al ON (al.id_attribute = a.id_attribute) WHERE ag.id_attribute_group = 4 AND id_lang = 1 ORDER BY al.name DESC '); // No makes is an error if (!$makes) return NULL; return $makes; } // Grab all models based on this make, from products. function getModels($myMake){ if(!is_int($myMake)) return NULL; $models = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT DISTINCT(al.name), al.id_attribute FROM ps_layered_product_attribute lpa1 JOIN ps_layered_product_attribute lpa2 ON (lpa1.id_product = lpa2.id_product) JOIN ps_attribute_lang al ON (lpa2.id_attribute = al.id_attribute ) WHERE lpa1.id_attribute = '.$myMake.' AND lpa2.id_attribute_group = 5 ORDER BY al.name DESC '); // empty if (!$models) return NULL; return $models; } // Grab all the years from this make + model selection function getYears($myMake, $myModel){ if(!is_int($myMake) OR ! is_int($myModel)) return NULL; $years = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('SELECT DISTINCT(al.name), al.id_attribute FROM ps_layered_product_attribute lpa1 JOIN ps_layered_product_attribute lpa2 ON (lpa1.id_product = lpa2.id_product) JOIN ps_layered_product_attribute lpa3 ON (lpa2.id_product = lpa3.id_product) JOIN ps_attribute_lang al ON (lpa3.id_attribute = al.id_attribute ) WHERE lpa1.id_attribute = '.$myMake. ' AND lpa1.id_attribute_group =4 AND lpa2.id_attribute = '.$myModel.' AND lpa2.id_attribute_group = 5 AND lpa3.id_attribute_group = 6 ORDER BY al.name DESC '); if(!$years) return NULL; return $years; } -
Need a modules for auto (car) parts
Sean Raviolli replied to Sean Raviolli's topic in Configuring and using PrestaShop
Can you post steps necessary to replicate the problem? -
Need a modules for auto (car) parts
Sean Raviolli replied to Sean Raviolli's topic in Configuring and using PrestaShop
Fixed it finally by a simple script I wrote. http://partsgalaxy.com -
Hello Everyone, I have a shop located at http://partsgalaxy.info/ I have a price list with `pre-sale` and `sale` prices. I want both prices shown up on the product's page -- like one crossed out and the other one shown as last bargain. Any ideas? PS: like this: http://www.ebay.com/itm/2-New-Rear-Air-Ride-Suspension-Spring-Bags-Ford-Expedition-2x2-2WD-4x2-4WD-PAIR-/111017202664?pt=Motors_Car_Truck_Parts_Accessories&hash=item19d92413e8#vi-ilComp
-
Hi Everyone, My e-shop is located at: http://autopartsaftermarket.us I want the categories menu to "go away" (not displayed) when I click on specific category , let's say the first one. Any insights for this? I need some kind of "exception" rule. I have a hand on coding so if someone can point me out to the correct direction i can fix this probably by adding an IF ELSE statement. There reason for this is, i want all the products to be under one special category (called ALL) and enable layered navigation only there. This is the nature of our business. Thanks! PS: please let me know if this is the incorrect section to do this.
-
Need a modules for auto (car) parts
Sean Raviolli replied to Sean Raviolli's topic in Configuring and using PrestaShop
Thanks guys, It solved my problem. Mentioning this: http://doc.prestashop.com/display/PS15/Implementing+layered+navigation+in+a+theme -
Need a modules for auto (car) parts
Sean Raviolli posted a topic in Configuring and using PrestaShop
Hello Everyone, I'm working on a Presashop store for my online auto parts business. My eBay store is located at: http://goo.gl/ghNEK I want a module (free or paid) to simulate that 'compatibility' part of the mentioned website. Any inights are appreciated. PS: I tried using tags for the thing, but it seems that they are not searchable / configurable. I want something like make/model/year. Thanks!