Jump to content

Récupérer une variable de l'url dans un onglet de la fiche de produit BO


Recommended Posts

Bonjour,

 

Je veux afficher des données, dans la fiche de produit coté back office dans l'onglet personnalisation, selon une variable récupéré de l'url .

Le problème est que je n'arrive pas à récupérer de l'url la valeur dans la fonction displayFormCustomization

 

J'ai essayé autrement:

j'ai ajouté dans la fonction "postProcess" un test if(isset($_GET['test']))....

ça m'a retourné la variable et m'a affiché ce que j'ai voulu MAIS en dehors des onglets alors que je veux placer le contenu dans l'onglet de personnalisation

 

Avez vous une idée pour l'un des cas?

Merci d'avance

Link to comment
Share on other sites

Bonjour,

 

vous devez récupérer la valeur de votre variable dans la méthode initFormCustomuzation() de la classe AdminProduct pour ensuite la transmettre via Smarty (toujours dans cette même méthode) et gérer son affichage sur le template customization.tpl (admin/themes/default/template/controllers/products)

 

Cordialement

 

Edit: n'oubliez pas de toucher à l'override de la classe AdminProduct plutôt que de faire la modification au coeur même de cette dernière

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

Merci Pepitoww de me répondre.

 

Mais je n'ai pas trouvé la méthode initFormCustomuzation() et il n'y a pas un dossier default dans admin/themes. Il paraît que nous ne parlons pas de la même version.

Ma mienne est 1.4

Link to comment
Share on other sites

Ah oui, en effet je suis sur une version 1.5.3. Néanmoins je pense qu'on devrait retrouver les informations que j'ai cité précedemment. Avez-vous fais un copié-collé de initFormCustomuzation ? Car si oui, il est normale que vous ne l'a retrouviez pas, il y a une faute de frappe de ma part, c'est bien initFormCustomization.

Dans le cas contraire mon aide s'arretera là, n'ayant jamais travaillé sur une version 1.4

 

Pour le template, essayer une recherche par fichier en indiquant le nom de ce dernier pour ne pas chercher parmi tous les dossiers. Si avec cela vous n'arrivez toujours pas à identifier les fichiers que j'ai cité, il faudra croire que le cheminement de la modification demandée est différente selon la version.

Link to comment
Share on other sites

Bonjour,

 

C'est normal, le changement d'onglet dans une fiche produit du BO envoie une requête AJAX avec ses propres paramètres (POST au passage) et c'est cette requête qui est traitée pour l'affichage ;)

 

L'idée est donc de passer le paramètre (au passage, préférez Tools::getValue('') à $_POST et $_GET) dans la requête ajax afin de la retraiter ensuite à l'affichage.

 

En 1.4.9, la construction de la requête est située environs L.1612 du fichier admin/tabs/AdminProducts.php,

 

Ca ressemble à ça :

 


if ($obj->id)
{
echo ' if (toload[id]) {
toload[id] = false;
$.ajax({
url: "'.dirname($currentIndex).'/ajax.php",
data: {
ajaxProductTab: id, id_product: '.$obj->id.',
token: \''.Tools::getValue('token').'\',
id_category: '.(int)(Tools::getValue('id_category')).'
},
cache: false,


......


 

Essayez d'ajouter le paramètre que vous souhaitez dans "data" et vous devriez pouvoir le récupérer dans la fonction displayFormCustomization avec un nouveau Tools::getValue()

 

Bon dev !

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...