Jump to content

Lien entre les pages cms et la fiche produit


Recommended Posts

Bonjour,

Mon ancien développeur (que je ne peux plus contacter) avait mis en place un système pour afficher des pages cms sur la fiche produit. Il y a donc plusieurs pages cms et selon le produit l’affichage sera différent.

Pour faire simple j'ai 2 pages cms et 2 catégories de produits. Lors de la création d'un nouveau produit, il avait créé une caractéristique spéciale qui fait que selon ce que je choisis comme valeur, cela va afficher une page cms ou l'autre.

Pour finir, dans product.tpl il y a ce code 

{FrontController::getTypeAcquisition($product.id_product,1) nofilter}

{FrontController::getTypeAcquisition($product.id_product,1) nofilter}

J'essaie de comprendre comment cela fonctionne pour pouvoir ajouter une nouvelle page cms et l'afficher sur de nouveau produits.

Vous auriez une idée du fonctionnement pour que je puisse lier une nouvelle page cms aux produits?

Merci

 

 

 

 

 

Edited by @rthur (see edit history)
Link to comment
Share on other sites

Les infos rajoutées sur la page produit contiennent une classe "infomor96", peux tu me dire si cette classe est présente dans la page CMS ?

Si ce n'est pas le cas tu dois avoir un fichier tpl qui le contient, c’est celui qu'il te faudra modifier.

Link to comment
Share on other sites

43 minutes ago, HeineFR said:

Les infos rajoutées sur la page produit contiennent une classe "infomor96", peux tu me dire si cette classe est présente dans la page CMS ?

Si ce n'est pas le cas tu dois avoir un fichier tpl qui le contient, c’est celui qu'il te faudra modifier.

Tout à fait mais c'est le product.tpl qui contient cette classe : 

        <div class="col-md-12 infomor96">

        {FrontController::getTypeAcquisition($product.id_product,1) nofilter}

        </div>

Mais je ne comprends pas ou est paramétré ce qui doit s'afficher sur tel ou tel produit

Link to comment
Share on other sites

Tu dois dans ce cas avoir un fichier d'override FrontController.php dans /override/controller/

Tu dois pouvoir retrouver dedans la fonction "getTypeAcquisition".

Personnellement, pour retrouver ce genre de fonction j'utilise la commande unix grep, mais il faut soit avoir un accès SSH à son serveur soit être sous linux et le faire dans un répertoire local.

Link to comment
Share on other sites

2 minutes ago, HeineFR said:

Tu dois dans ce cas avoir un fichier d'override FrontController.php dans /override/controller/

Tu dois pouvoir retrouver dedans la fonction "getTypeAcquisition".

Personnellement, pour retrouver ce genre de fonction j'utilise la commande unix grep, mais il faut soit avoir un accès SSH à son serveur soit être sous linux et le faire dans un répertoire local.

Merci. Je suis allé voir dans ce repertoire mais le seul fichier qui s'y trouve c'est dans controller/front/ProductController.php et le voici 

<?php

class ProductController extends ProductControllerCore
{

	public function canonicalRedirection($canonical_url = '')
    {
        if (Validate::isLoadedObject($this->product)) {
            if (!$this->product->hasCombinations() ||
                !$this->isValidCombination(Tools::getValue('id_product_attribute'), $this->product->id)) {
                //Invalid combination we redirect to the canonical url (with attribute id)
                unset($_GET['id_product_attribute']);
            } else {
                //Only redirect to canonical (parent product without combination) when the requested combination is not valid
                //In this case we are in a valid combination url and we must display it with redirection for SEO purpose
                return;
            }
            //Note: we NEED these 6 arguments to have $ipa=null or else a parameter will be added
            //id_product_attribute=0 and force the redirection
            parent::canonicalRedirection($this->context->link->getProductLink(
                $this->product,
                null,
                null,
                null,
                null,
                null,
                null
            ));
        }
    }

}

?>

Ca ne semble pas être cela... 

Sinon j'ai bien un accès ssh si jamais ca peut aider

Link to comment
Share on other sites

Connecte toi en SSH positionne-toi à la racine de ton site et lance la commande :

grep -R -l 'getTypeAcquisition'

Tu vas alors avoir la liste des fichiers qui contiennent cette chaîne de caractères dont ton product.tpl & l'endroit ou se trouve cette fonction.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...