Toutes les clefs pour réussir dans le e-commerce

Mes modules Prestashop

Override de AdminProductsController

Aujourd’hui je vais vous expliquer comment ajouter un onglet supplémentaire dans la fiche produit du coté administration de votre boutique Prestashop.

Première étape, on créé un override de la classe “AdminProductController”. Pour cela, il suffit de créer le fichier “override/controllers/admin/AdminProductsController.php” et d’y ajouter le code suivant:


<?php

class AdminProductsController extends AdminProductsControllerCore
{
	public function __construct()
	{		
		parent::__construct();
		$this->available_tabs['vueEclatee']=14;
		$this->available_tabs_lang['vueEclatee'] = 'Vue éclatée';
	}
	
	public function initFormVueEclatee($product)
	{
		$data = $this->createTemplate($this->tpl_form);
		$data->assign(
			array(
				'mytext'=>'un texte de démonstration',
				'product' => $product
			)
		);
		$this->tpl_form_vars['custom_form'] = $data->fetch();
	}
}

La fonction __construct() rajoute le nouvel onglet nommé “vue éclatée”.
La fonction initFormVueEclatee permet de charger le contenu de cet onglet.

Il faut ensuite créer le template qui va permettre d’agencer le contenu de l’onglet. Pour cela créez le fichier “override/controllers/admin/templates/products/vueeclatee.tpl”.
Il vous suffit ensuite d’ajouter le code que vous désirez, par exemple:


<p>{$mytext}<p>
Product id={$product->id}

Override de AdminProductsController
Votez pour cet article

Poster un Commentaire

3 Commentaires sur "Override de AdminProductsController"

Recevoir un email pour
avatar
Trier par:   plus récent | plus vieux | Plus de vote
Seb
Invité
Seb

Ah ah ! Très bien ça !
Merci du partage de l’info :)

Eka
Invité
Eka

Super !

Juste une remarque : ne pas mettre de majuscules dans le nom du fichier xxxxxxxxx.tpl pour peu qu’on utilise un autre nom que dans l’exemple.

Par exemple, il semble que vueEclatee.tpl ou monOnglet.tpl ne fonctionnent pas (alors que vueeclatee.tpl ou mononglet.tpl fonctionnent).

wpDiscuz