Jump to content

Utilisation de méthode native


Recommended Posts

Bonjour,

Je suis bientôt à la fin de la création de mon module.

J'utilise plusieurs fonction native à PrestaShop dont, celle de récupérer l'ensemble des produits d'une catégorie. 

Dans mon module,j'ai plusieurs pages, pages Html simple et pages dynamique (listing produit).

 

Il y a encore quelques jours tout fonctionner parfaitement, mais désormais uniquement mes pages statique s'affiche, les autres donnes une page blanche.

 

Voici le code php, d'une de mes pages dynamique, si quelqu'un peux me venir en aide, je lui en serait remerciant.

<?php

class MonModuleMaPageModuleFrontController extends ModuleFrontController{

	
	public function initContent()
	{
		
        //Utilisation de la méthode getProducts, fichier -> /Classes/Product.php
        //8 = id_category
		$products_partial = Product::getProducts($this->context->language->id, 0, 999999, 'name', 'asc','8');
		$products = Product::getProductsProperties($this->context->language->id, $products_partial);
	 
		foreach ($products as $key => $product) {
        foreach ($products as $key => $product) {
        $products[$key]['id_image'] = Product::getCover($product['id_product'])['id_image'];
            }
        } 
	 
	 
		$this->context->smarty->assign(array(
			'products' => $products,
			'homeSize' => Image::getSize('home_default')
		));
            
            
        parent::initContent();
        $this->setTemplate('mapage.tpl');
		
	}
	
    
}
?>
Edited by Coonax (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Pour voir d'où viens l'erreur, il faut modifier le fichier config/defines.inc.php pour changer

define('_PS_MODE_DEV_', false);

en

define('_PS_MODE_DEV_', true);

Concernant le code du module :

$products_partial n'est jamais utilisé, cette ligne est donc à supprimer

 

Il y a 2 foreach imbriqué sur le même tableau... il faut en supprimer donc un qui ne sert à rien hormis alourdir le module.

Edited by SMorillon.com (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Pour voir d'où viens l'erreur, il faut modifier le fichier config/defines.inc.php pour changer

define('_PS_MODE_DEV_', false);

en

define('_PS_MODE_DEV_', true);

Concernant le code du module :

$products_partial n'est jamais utilisé, cette ligne est donc à supprimer

 

Il y a 2 foreach imbriqué sur le même tableau... il faut en supprimer donc un qui ne sert à rien hormis alourdir le module.

Si, si $products_partial est utilisé :)

$products = Product::getProductsProperties($this->context->language->id, $products_partial);
  • Like 1
Link to comment
Share on other sites

Bonjour,

Merci pour votre participation.

Effectivement comme la dit Eolia j'utilise $products_partial. 
 

Merci pour le define à modifier dans le fichier de config. Voici l'erreur qu'il me dit :

 

Parse error: syntax error, unexpected '[' 

 

La ligne mise en cause est celle-ci : 

$products[$key]['id_image'] = Product::getCover($product['id_product'])['id_image'];

Seulement j'ai récupérer dans PrestaShop et je ne comprend donc pas pourquoi cela ne fonctionne pas.

 

 

Coonax

Edited by Coonax (see edit history)
Link to comment
Share on other sites

Bonjour, 

Après modification du .htaccess et appel de la bonne version de PHP, pus aucune errreur s'affiche.

Ma page s'affiche correctement, enfin uniquement la partie statique, quand à lui le listing fait à l'aide de Smarty est toujours porté disparu.

 

 

 

Bonjour,

 

Essaye plutôt ça :

$cover = Product::getCover($product['id_product']);
$products[$key]['id_image'] = $cover['id_image'];

 

Merci pour ta participation, mais ceci n'a rien changer.

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