Outils pour utilisateurs

Outils du site


Panneau latéral

webdev:prestashop:controller

Gestions des controlleurs

Les controlleurs admins affichent une erreur s'il ne sont pas reliés à un menu (sur la 1.6).

Controlleur le plus basique qu'on peut faire :

controllers/front/fichierController.php

<?php
class TopstarProControllerCore extends FrontController
{
	public $php_self = 'TopstarPro';
	public $isLogged;
	protected $ajax_refresh = false;
	/**
	 * Initialize order opc controller
	 * @see FrontController::init()
	 */
	public function init()
	{
		parent::init();
	}
}

On va l'override dans /override/controllers/front/fichierController.php

<?php
class TopstarProController extends TopstarProControllerCore
{
	public $php_self = 'TopstarPro';
	public $isLogged;
	protected $ajax_refresh = false;

	public function init()
	{
		parent::init();
	}

	/**
	*  Assign template vars related to page content
	*  @see FrontController::initContent()
	*/
	public function initContent()
	{
		parent::initContent();

		$this->setTemplate(_PS_THEME_DIR_.'upload-pro-card.tpl');// Définit le template qui est utilisé pour ce controlleur
	}

Renvoyer sur une méthode de classe via un paramètre en GET :

		// Gestion des méthodes pour l'upload
		if ( Tools::isSubmit('method') )
		{
			if( method_exists($this, Tools::getValue('method')) )
			{
				$method = Tools::getValue('method');
				$ress = $this->$method();
				return $ress;
			}
			else if ( !empty(Tools::getValue('method')) )
			{
				throw new PrestaShopException('Unknown method "'.Tools::getValue('method').'"');
			}
		}

Créer une page : http://stackoverflow.com/questions/14336006/create-custom-page-in-prestashop-1-5-3#answer-14337210

Faire un controlleur en admin

Pour qu'il s'affiche, il faut aller créer un template dans /admin/themes/nom_du_theme/template/nom_du_template.tpl, puis ajouter ce code au controller :

	public function initContent()
	{
		parent::initContent();

		$this->setTemplate('crowd_export_profil.tpl'); // Définit le template qui est utilisé pour ce controlleur
	}
webdev/prestashop/controller.txt · Dernière modification: 10/11/2017 18:29 de dolo