Jump to content
@rthur

Lien entre les pages cms et la fiche produit

Recommended Posts

Posted (edited)

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)

Share this post


Link to post
Share on other sites

Salut,

Tu dois avoir un modification faite dans un fichier tpl de ce repertoire:

\themes\******\templates\catalog\_partials

Share this post


Link to post
Share on other sites
1 hour ago, HeineFR said:

Salut,

Tu dois avoir un modification faite dans un fichier tpl de ce repertoire:

\themes\******\templates\catalog\_partials

A priori rien de ce coté la...

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Merci mille fois j'ai enfin trouvé où était cette fonction !!! 

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More