Jump to content

Problème affichage de données SQL


Recommended Posts

Bonjour, je suis novice dans le développement sur Prestashop et m'initie peu à peu. J'ai parcourru tous les forums et tutos sans trouver de réponse pour l'instant à mon problème.

J'ai créé dans la bdd une nouvelle table 'project' avec notamment un champ 'name' et un champ 'date'.

 

J'ai souhaite afficher dans 'mon compte' en cliquant sur un item nouvellement créé 'mes projets' la liste des projets en cours pour l'id_customer de l'internaute connecté.

 

Pour cela j'ai créé 4 fichiers construits et placés un peu à la mode des autres items de 'mon compte' (comme par exemple 'mes adresses') :

- 1 fichier 'project.php' à la racine du site qui fait appel entre autre au controller du projet

1 fichier ' ProjectController sirtué dans le rep 'controller :

 

class ProjectControllerCore extends FrontController

{

public $auth = true;

public $php_self = 'project.php';

public $authRedirection = 'project.php';

public $ssl = true;

 

public function setMedia()

{

parent::setMedia();

Tools::addCSS(_THEME_CSS_DIR_.'history.css');

Tools::addCSS(_THEME_CSS_DIR_.'addresses.css');

Tools::addJS(array(

_PS_JS_DIR_.'jquery/jquery.scrollTo-1.4.2-min.js',

_THEME_JS_DIR_.'history.js',

_THEME_JS_DIR_.'tools.js'));

}

 

public function process()

{

parent::process();

 

self::$smarty->assign(array('project',project::getCustomerProjects((int)(self::$cookie->id_customer))));

 

}

 

public function displayContent()

{

parent::displayContent();

self::$smarty->display(_PS_THEME_DIR_.'project.tpl');

}

}

 

1 - fichier project.php qui décrit la methode utilisée pour récupérer des données de la bdd :

 

<?php

class ProjectCore extends ObjectModel

{

public static function getCustomerProjects($id_customer)

{

global $cookie;

 

$res= array();

$res = Db::getInstance()->ExecuteS('SELECT * FROM `'._DB_PREFIX_.'project` WHERE `id_customer` = '.(int)$id_customer);

 

return $res;

}

 

- 1 fichier TPL où je souhaite pour l'instant récupérer tous les noms des projets pour l'id_customer concerné :

 

<h1>{l s='My projects'}</h1>

 

<table id="order-list" class="std">

<thead>

<tr>

<th class="first_item">{l s='Name'}</th>

</tr>

</thead>

<tbody>

 

{foreach from=$project item=name}

<tr>

<td class="history_link bold">

{$name}

</td>

</tr>

{/foreach}

 

</tbody>

</table>

 

Le problème est que mes données ne s'affichent pas. J'ai un message d'erreur du type :

 

Notice: Undefined variable: project in C:\Users\FX\Documents\prestashop\tools\smarty\sysplugins\smarty_internal_data.php on line 291

 

J'ai donc du oublié qquechose d'important dans le fichier claasse ou controller, ou voir même dans le tpl.

 

Pouvez-vous m'aider SVP ?

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