Jump to content

[1.6] comment definir le token pour appel à une action de mon controller de module


Recommended Posts

Bonjour.

Je ne trouve pas de doc en ce qui concerne la déclaration de token. Mon objectif est de créé un lien de suppression d'une image uploader. J'ai essayé de faire ceci mais prestashop n'accepte pas le token apparement :

//fichier mymodule.php


/**
 * Create the structure of your form.
 */
protected function getConfigForm()
{
    $xl_labels_img = ($this->xl_labels != null)
        ? '<img src="'.$this->_path.'views/img/upload/'.$this->xl_labels->uploadedFileName
            . '" alt="'.$this->l("Preview of the extra large label picture")
            . '" title="'.$this->l("Extra large label picture")
            . '" width="210" height="300" />'
        : '';

    $controller_name = 'AdminMyModuleController';
    $id = Tab::getIdFromClassName($controller_name);
    $token = Tools::getAdminToken($controller_name.(int)$id.(int)$this->context->employee->id);
    $urlDelete = $this->context->link->getAdminLink('AdminModules', false).'&configure=MyModule&tab_module=content_management&module_name=MyModule&token='.$token.'&action=delete&deleteimage=';


    return array(
        'form' => array(
            'legend' => array(
                'title' => $this->l('Module settings'),
                'icon' => 'icon-cogs',
            ),
            'input' => array(
                    array(
                        'col' => 9,
                        'type' => 'file',
                        'input_size' => 100,
                        'image' => $xl_labels_img,
                        'delete_url' => $urlDelete.'xl_label',
                        'prefix' => '<i class="icon icon-upload"></i>',
                        'desc' => $this->l('Upload a picture for the extra large screen size label. Extra large screen size label picture size is 210 x 300px.'),
                        'name' => 'PRETTYSHOP_XL_LABELS',
                        'label' => $this->l('Extra large label picture'),
                    ),
        );
}

Mon objectif est d'appeler une action de mon contrôleur lors du click sur le boutton "supprimer" générer via 'delete_url'

 

Si quelqu'un à une idée ou un complément d'information ;)

Merci d'avance.

Link to comment
Share on other sites

Bonjour,

 

Pour le token il faut utiliser la fonction Tools::getAdminTokenLite($controller_name) avec comme paramètre le nom du contrôleur.

 

La page configuration d'un module utilise le contrôleur 'AdminModules'.

Donc il faut simplement  utiliser  &token='.Tools::getAdminTokenLite('AdminModules').'

 

Cordialement,

Edited by fbenoist.com (see edit history)
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...