Jump to content

Tokens (ou comment faire des liens dans le backoffice ?)


Ccile

Recommended Posts

Bonjour,

je cherche de l'aide sur les Tokens. A 1ère vue ça n'avait pas l'air compliqué, et pourtant quoi que j'écrive j'ai le message "Clef de sécurité incorrecte".

Le forum est assez pauvre sur le sujet (ou alors je ne suis pas douée...'scuse).
J'ai bien trouvé http://www.prestashop.com/forums/viewthread/13737/P15/developpement/svn__clef_de_securite_incorrecte

Mais ça ne m'aide pas...puisque ce que c'est ma source !

Pour être plus concrète voilà mon problème:
J'ai créé dans le backoffice un nouvel onglet "Marketing" associé à un fichier AdminMktg.php
J'ai créé un sous onglet "Pub" associé à un fichier AdminAdvs.php

La page AdminAdvs.php est formée de 4 liens qui sont censés renvoyés vers 4 modules de gestion de bloc publicitaire (peu importe).

Voilà mon fichier AdminAdvs.php

voir 2ème post



Qu'est ce que j'oublie ?

Je précise que si j'écris l'url avec le token bien défini, ça fonctionne pour l'employé a qui "appartient" le token (mais que pour lui, évidemment).


Merci par avance pour votre aide.

Ccile

Link to comment
Share on other sites

  • 1 month later...

Bonjour Ccile,

Si ta question est de réussir à ajouter quelque part un lien interne dans le back-office qui passe le problème des tokens, voici la solution que j'utilise. Ce n'est peut-être pas la plus élégante mais elle marche très bien pour moi.

D'abord tu dois déclarer que tu vas utiliser la variable globale $cookie :

global $cookie;



Ensuite, tu dois récupérer l'url du back-office. Tu peux soit la taper directement, soit si tu veux plus de souplesse utiliser le truc ci-dessous (à condition évidemment que tu partes d'une page du back-office):

$base_admin_uri = explode($_SERVER['REQUEST_URI']);



Enfin tu dois intégrer tout ça dans le href de ta balise a:

href="'.$base_admin_uri[0].'?tab=AdminCustomers&token;='.Tools::getAdminToken('AdminCustomers'.intval(Tab::getIdFromClassName('AdminCustomers')).intval($cookie->id_employee)).'"



en remplaçant partout AdminCustomers par le nom de l'onglet de destination de ton lien.

Et s'il s'agit d'un sous-onglet, tu rajoutes les autres paramètres avant le token. Par exemple, si tu veux accéder à la fiche de ton consommateur n°1, tu écriras :

href="'.$base_admin_uri[0].'?tab=AdminCustomers&id_customer=1&viewcustomer;&token;='.Tools::getAdminToken('AdminCustomers'.intval(Tab::getIdFromClassName('AdminCustomers')).intval($cookie->id_employee)).'"



Voilà, j'espère que ça répond à ta question ;-)

Link to comment
Share on other sites

Woaw ! Merci peps_cyd !! J'avoue que complétement désespérée ;-) , j'avais enterré le sujet ! De nouveaux horizons s'ouvrent donc à moi. Évidemment, il faut que je rouvre le dossier mais je regarde cela très vite !!

Ccile

Link to comment
Share on other sites

  • 4 months later...

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