Jump to content

Utiliser le HelperList


Recommended Posts

Bonjour  :)

 

J'ai créé un fichier php qui installe mon module et un nouveau Tab (Tab qui s'affiche en backoffice sur le menu de vertical gauche).

 

Lorsque je clique sur le nouveau Tab une fois le module installé, je souhaite afficher une liste d'information depuis une table de ma BDD. C'est table qui regroupe (id, nom, prénom, date + d'autres info). Pour cela j'ai créé une nouvelle classe dans laquel je souhaite utiliser le HelperList().

 

Je ne sais pas comment organiser la classe qui utilisera le HelperList(). Dans la doc du site il y a une méthode initList().

http://doc.prestashop.com/display/PS16/Using+the+HelperList+class

 

Quels sont les méthodes a implémenter obligatoirement ?

 

Voici mon le code de ma classe : 

class AdminGestionDevisController extends ModuleAdminController
{
	public function __construct()
	{
		$this->table = 'devis';
        $this->className = 'devisE';
		$this->bootstrap = true;
		
		parent::__construct();
	}

	private function initList()
	{
		$this->fields_list = array(
			'id_category' => array(
				'title' => $this->l('Id'),
				'width' => 140,
				'type' => 'text',
			),
			'name' => array(
				'title' => $this->l('Name'),
				'width' => 140,
				'type' => 'text',
			),
		);
		$helper = new HelperList();
		 
		$helper->shopLinkType = '';
		 
		$helper->simple_header = true;
		 
		// Actions to be displayed in the "Actions" column
		$helper->actions = array('edit', 'delete', 'view');
		 
		$helper->identifier = 'id_category';
		$helper->show_toolbar = true;
		$helper->title = 'HelperList';
		$helper->table = $this->name.'_categories';
		 
		$helper->token = Tools::getAdminTokenLite('AdminModules');
		$helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;
		return $helper;
	}
	
	public function setMedia() {
		parent::setMedia();
	}
}
Link to comment
Share on other sites

Dans le controller que j'ai créé, j'ai rajouté $this->addRowAction('delete') dans le renderList() pour pouvoir supprimer l'une des lignes de ma liste.

 

Mais lorsque que je clique sur "Supprimer" d'une ligne rien ne se passe.

 

Faut-il rajouter un bout de code pour effectuer l'action ?

 

Edit: apparement $this->addRowAction('delete') ne rajoute que l'icone supprimé ?

 

Edit2: j'ai rajouté $this->deleted = true et un champ deleted ds ma bdd. Quand je supprime dans le backoffice rien ne se passe (message d'erreur) mais quand je change manuellement le champ deleted (de 0 à 1) la ligne disparait dans le backoffice.

Edited by yakyak (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...