bien le bonjour,
je tourne en rond depuis quelques heures.

J'ai fais un système de panier pour un eCommerce, en utilisant les variables de Session du User (get et set Attribut)

myUser.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$basket = $this->getAttribute('basket', array());
 
if($basket==null)
    $basket = new Basket();
$basket->addItem(1, $produit);
 
$this->setAttribute('basket', $basket);
Basket.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
...
function addItem($qty, $product) {
        $ok = false;
        foreach ($this->items as $id => $item) {
            if ($item->getProduit()->getId() == $product->getId()) {
                if ($this->getItemQty($id) > 0) {
                    $this->setItemQty($id, $this->getItemQty($id) + $qty);
                } else {
                    $this->items[$id] = new BasketObject();
                    $this->items[$id]->setProduit($product);
                    $this->items[$id]->setQuantite($qty);
                }
                $ok = true;
                break;
            }
        }
        if (!$ok) {
            $id = $this->getNbLineItems();
            $this->items[$id] = new BasketObject();
            $this->items[$id]->setProduit($product);
            $this->items[$id]->setQuantite($qty);
        }
    }
...
BasketObject.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class BasketObject extends BaseBasketObject {
 
    function getPrice() {
        return $this->Produit->getPrix();
    }
 
    function getWeight() {
        return "0.00";
    }
 
    function extendedPrice() {
        return ($this->quantite * ($this->getPrice() * (1 - $this->reduction)));
    }
 
    function discountedAmount() {
        return ($this->getPrice() * $this->reduction);
    }
 
}
Jusque la pas de soucis.
j'arrive a afficher via un component qui lis monAttribut('basket') les différents éléments de mon panier

Le problème apparais lorsque sur une page je veux afficher ls produits de la db.

actions.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
  public function executeShow(sfWebRequest $request)
  {
	$this->pager = new sfDoctrinePager(
		'produit',
		sfConfig::get('app_max_prod_on_artisan')
	);
 
	$this->pager->setQuery($this->artisan->getActiveProduitQuery());
	$this->pager->setPage($request->getParameter('page', 1));
	$this->pager->init();
 
  }
A partir de ce moment la, j'ai une erreur
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'p.libelle' in 'field list'
(A savoir que mon objet produit est i18n sur le champ libelle.)