GithubHelp home page GithubHelp logo

nosto / nosto-prestashop Goto Github PK

View Code? Open in Web Editor NEW
12.0 22.0 5.0 3.35 MB

Nosto plugin for Prestashop

Home Page: http://addons.prestashop.com/en/advertising-marketing-newsletter-modules/18349-nostotagging.html

License: Academic Free License v3.0

PHP 90.67% CSS 0.44% JavaScript 0.28% Smarty 7.89% Dockerfile 0.68% Shell 0.04%
prestashop ecommerce prestashop-module personalization prestashop-addon

nosto-prestashop's People

Contributors

anttip avatar dairbuirabass avatar dependabot[bot] avatar jluostar avatar kryysler avatar liangde-chen avatar maxime-aknin avatar michaeldemeyer avatar mridang avatar nsorosac avatar olsi-qose avatar phonglynosto avatar quetzacoalt91 avatar supercid avatar tuuukka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nosto-prestashop's Issues

Nosto Recommendations are loaded twice

On a category page and the cart page, we use the JS to auto-load the slots and re-position them. Since the call nostojs.init() has already fired, we move the slots to another position and and re-load the recommendations through the JS API, which causes the events to be fired again.

This can be solved by checking in the header if it is a search/category page. If it is wrap the nostojs.init ins a custom function which is invoked by the auto-slots code. On all other pages, the nostojs.init is fired automatically.

Enhance the order and product export controller

The controller should sort orders by descending order. The order and product controllers should also be able to accept an extra parameter called id and ids which when specified only list the order and products pertaining to those identifiers.

Get the correct image from the product

Currently we use the method getFormatedName to get the image and this works fine in most cases but we've seen some issues.

The method used the type passed to it e.g. large and appends the name of the theme to it e.g. large_default.

A merchant was using the theme called "Alysum" and this method returned large_Alysum but this image-type doesn't exist.

Each theme has the right to define custom images in the theme.xml and in this case the theme had registered large_alysum but the method returns large_Alysum.

Unable to show the admin section when the adminCss is missing

https://github.com/Nosto/nostotagging/blob/master/nostotagging.php#L455 fails when some backend controller is missing the method.

The merchant encountered a blank page when using the module Blank page when selecting the module "Chronossimo"

Notice: Constant _PS_DEBUG_SQL_ already defined in /home/naturosphere/www/config/config.inc.php on line 9 Fatal error: Call to undefined method AdminChronossimo::addCss() in /home/naturosphere/www/modules/nostotagging/nostotagging.php on line 455

Add support for the new product upsert and delete API endpoints

Deprecate the recrawl API hook and instead invoke /api/v1/products/upsert every time a product is created or updated, and, invoke /api/v1/products/delete every time a product is deleted.

This should only fire for products that are visible and saleable.

Get the correct path of the classes directory

<?php

/*
 * This is a backwards compatibility script for running module front controllers in Prestashop 1.4.
 * The script is meant to run outside of Prestashop, so if _PS_VERSION_ is already defined, we do nothing.
 */
if (!defined('_PS_VERSION_'))
{
    if (isset($_SERVER['SCRIPT_FILENAME']))
    {
        $ps_paths = explode('/', $_SERVER['SCRIPT_FILENAME']);
        array_pop($ps_paths);
        array_pop($ps_paths);
        array_pop($ps_paths);
        $ps_dir = implode('/', $ps_paths);
    }

    if (!isset($ps_dir) || !file_exists($ps_dir.'/config/config.inc.php'))
        $ps_dir = dirname(__FILE__).'/../..';

    require_once($ps_dir.'/config/config.inc.php');
    /*
     * The "ModuleFrontController" class won't be defined in prestashop 1.4, so define it.
     */
    if (_PS_VERSION_ < '1.5')
        require_once($ps_dir.'/modules/nostotagging/backward_compatibility/ModuleFrontController.php');
    $controller = strtolower((string)Tools::getValue('controller'));
    if (!empty($controller))
    {
        require_once($ps_dir.'/modules/nostotagging/controllers/front/'.$controller.'.php');
        ControllerFactory::getController('NostoTagging'.ucfirst($controller).'ModuleFrontController')->run();
    }
}

Flag products that are marked as visible nowhere as OutOfStock

Products that can be bought but not visible anywhere e.g. category pages, search pages, should be marked as OutOfStock both in the product-export and in the PDP tagging. This will guarantee that the product is never recommended and the change will be minimal.

Redirect after post on module admin page

Always do a redirect after posting to get rid if the form re-submission issues. This will also fix iframe authentication issues when using browser back/forward buttons.

Feature already started in feature/admin-page-redirects branch

New module settings page

Change the current module settings page to work completely within an iframe that communicates with post messages.

The only thing managed by the module is the store scope switcher.

Adding more data to the product tagging

  • Add the full description and a tag called ?? to identify products that can be added to cart directly.
  • Also add the full-description of the product to the short description.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.