Hire an Agile Team for your business

Create your own agile squad with experienced members for your business.

Connect with Experts

AJAX Auto Search Suggest

AJAX Auto Search Suggest
$5 USD / 30 day license
AJAX Auto Search Suggest

Platform

Custom

Our professional installation service will be completed within 2 business days from the time of your purchase. Purchases made after 5PM EST will be completed within 2 business days from the following day starting at 9:00AM EST.

The domain that this plugin will be installed on.

Enter a valid domain for the plugin license
  • Description
  • Requirements
  • Version History

Description

Improve your website's usability with the AJAX Auto Search Suggest plugin for Zen Cart. This module makes it easier for your customer's to find products by suggesting actual search results as the customer types.

Features
  • Search suggestions as the user types
  • Matched keyword display in bold
  • Saves the user time if no results are found
  • Powerful AJAX communication between the browser and server using jQuery
  • Caches search results for faster repeated searches by the same user
  • Easy installation, just drop in to your Zen Cart store via FTP (Note: you will need to rename the your_template folder to your custom template folder name)
  • Intelligently binds to both the Zen Cart search header and search sidebox
  • Show product images in the suggested search results
  • Easily override CSS
See more

Requirements

Zen Cart Version

  • 1.3.8a
  • 1.3.9h
  • 1.5.0
  • 1.5.1
  • 1.5.2
  • 1.5.3
  • 1.5.4
  • 1.5.5a
  • 1.5.5b
  • 1.5.5c
  • 1.5.5d
  • 1.5.5e
  • 1.5.5f
  • 1.5.6
  • 1.5.6b
  • 1.5.6a
  • 1.5.6c

Version History

2.5.0 Jan 25, 2021
2.4.7 Sep 17, 2020
2.4.6 Jun 23, 2020
2.4.5 Mar 5, 2020
Next

No reviews yet. Be first to write a review.

Write a review

400 characters remaining

'); } // alert("You've already voted"); } } }); } function increaseTotalVotes(elem) { // gets element total id elemID = elem.getAttribute("id"); elemIDTotal = elem.getAttribute("data-id-total"); // get element total elemIDTotal = document.getElementById(elemIDTotal); incrementIsHelpfulVisual(elem); } function incrementIsHelpfulVisual(buttonElement) { const quantityElement = buttonElement.parentNode.querySelector('.helpful-quantity'); const currentQuantity = parseInt(quantityElement.textContent); const newQuantity = currentQuantity + 1; quantityElement.textContent = newQuantity; const buttonText = buttonElement.textContent; const newText = buttonText.replace(/\d+/, newQuantity); buttonElement.textContent = newText; } const totalPages = '0'; // Get references to elements const filterItems = document.querySelectorAll('.js-filter-item'); const reviewsContainer = document.getElementById('reviews-container'); // Function to sort reviews by most recent function sortByRecent() { loadReviews_by_date(currentPage); updatePagination(totalPages); } // Function to sort reviews by most useful function sortByUseful() { loadReviews_by_helpful(currentPage); updatePagination(totalPages); } // Event listener for the filter items filterItems.forEach(item => { item.addEventListener('click', () => { // Toggle active class filterItems.forEach(i => i.classList.remove('active')); item.classList.add('active'); // Get the selected value const selectedValue = item.getAttribute('data-value'); // Sort and update reviews based on the selected value if (selectedValue === 'recent') { sortByRecent(); } else if (selectedValue === 'useful') { sortByUseful(); } }); }); // Get references to the content container and pagination control const paginationControl = document.getElementById('pagination'); // Define the number of items per page and the current page number const itemsPerPage = 2; let currentPage = 1; let mainOrderBy = 1; function loadReviews_by_helpful(page) { const productsId = '827'; // Obtener el ID del producto de alguna manera let orderBy = 1; mainOrderBy = orderBy; fetch(`ajax/reviews_pagination.php?productsId=${productsId}&page=${page}&itemsPerPage=${itemsPerPage}&orderBy=${orderBy}`) .then(response => response.text()) .then(html => { if(reviewsContainer) reviewsContainer.innerHTML = html; }) .catch(error => { console.error('Error fetching reviews:', error); }); } function loadReviews_by_date(page) { const productsId = '827'; // Obtener el ID del producto de alguna manera let orderBy = 2; mainOrderBy = orderBy; fetch(`ajax/reviews_pagination.php?productsId=${productsId}&page=${page}&itemsPerPage=${itemsPerPage}&orderBy=${orderBy}`) .then(response => response.text()) .then(html => { reviewsContainer.innerHTML = html; }) .catch(error => { console.error('Error fetching reviews:', error); }); } function updatePagination(totalPages) { if(paginationControl) paginationControl.innerHTML = ''; // Limpiar el contenido de paginación existente if (totalPages > 1) { const previousButton = document.createElement('a'); previousButton.style.cursor = 'pointer'; previousButton.innerHTML = ' { if (currentPage > 1) { currentPage--; if (mainOrderBy == 1) { loadReviews_by_helpful(currentPage); } else { loadReviews_by_date(currentPage); } updatePagination(totalPages); // Actualizar paginación al hacer clic } }); paginationControl.appendChild(previousButton); for (let page = 1; page { currentPage = page; updatePagination(totalPages); // Actualizar paginación al hacer clic }); paginationControl.appendChild(pageLink); } const nextButton = document.createElement('a'); nextButton.style.cursor = 'pointer'; nextButton.innerHTML = 'Next >'; // Texto "Next" y símbolo de "mayor que" nextButton.addEventListener('click', () => { if (currentPage

Recommended Products

Service Policy

Our stated prices for all modules we install are based on installation into the default platform configuration. We always ensure your logo and basic color palette are in place when we install a plugin. However, any additional "custom" styling, design work, or derivitive tasks generated due to a site's non-default configuration could require additional prepaid programming hours.

This plugin is open source and requires ionCube Loader v4.4 or later to be compiled with PHP in order to install and upgrade the plugin. All orders are automatically subscribed to the billing frequency selected at the time of purchase. Recurring billing can be cancelled at any time. Once your license has expired, a new license will be required in order to continue using the plugin.

  1. Home
  2. Plugins
  3. Other Modules
  4. AJAX Auto Search Suggest
ContactAccountCartSearchCart OpenMenuArrow LinkArrowChatCloseClose PopupFacebookTwitterGoogle Pluslinkedin2 Chat with us