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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
public static function getGrid(sfWebRequest $request)
{
$grid = new Vignette("listArticles");
$grid->setRowNum(9)
->setColNum(3)
->setDisplayPartial("catalogue/vignette_catalogue")
->setEventListener('gridComplete')
->setEventListener('beforeRequest')
->setEventListener('afterSaveCell')
->setEventListener('afterSubmitCell');
// Les colonnes
$grid->addColumn('id', 'Id', 'integer', array('width' => 30, 'align' => 'center', 'hidden' => true, ));
$grid->addColumn('codeproduct', 'CODE', 'integer', array('width' => 70, 'align' => 'center', 'key' => true, 'hidden' => false, 'searchoptions' => array('sopt' => array('bw', 'cn', 'eq', 'bn', 'ew', 'en', 'nc'))));
$grid->addColumn('volume', 'VOLUME', 'integer', array('width' => 70, 'align' => 'center', 'sortable' => false, 'search' => false));
$grid->addColumn('itmdes1', 'DESCRIPTION', 'string', array('width' => 200, 'searchoptions' => array('sopt' => array('cn', 'eq', 'bw', 'bn', 'ew', 'en', 'nc'))));
$grid->addColumn('itmdes2', 'DESCRIPTION', 'string', array('width' => 200, 'searchoptions' => array('sopt' => array('cn', 'eq', 'bw', 'bn', 'ew', 'en', 'nc'))));
$grid->addColumn('nbuccol', 'cond', 'string', array('width' => 50, 'searchoptions' => array('sopt' =>
array('cn', 'eq', 'bw', 'bn', 'ew', 'en', 'nc'))));
$grid->addColumn('image', 'IMAGE', 'string', array('width' => 200));
$grid->addColumn('uniteevente', 'Unité', 'string', array('width' => 200));
$grid->addActionColumnInput('prix_brut', array('label' => 'Prix brut', 'width' => 70, 'align' => 'center', "editable" =>false,"editoptions" => array('size' => 3)));
$grid->addActionColumnInput('prix_net', array('label' => 'Prix net', 'width' => 70, 'align' => 'center', "editable" =>false, "editoptions" => array('size' => 3)));
$grid->addActionColumnInput('nb_article', array('label' => 'Quantité', 'width' => 70, 'align' => 'center', "editoptions" => array('size' => 3)));
$grid->setCellEdit(true)->setCellsubmit('remote')->setCellurl(url_for("catalogue/addPanier"));
$grid->setCustomFormatter('itmdes1', 'fancyFormatter', array('baseLinkUrl' => '/private.php/produit/index'));
$grid->setCustomaActionFormatter('prix_brut', 'puFormatter', array('decimalSeparator' => ',',
'thousandsSeparator' => ' ',
'suffix' => 'â¬',
'decimalPlaces' => 2,
'defaultValue' => ' ', ));
$grid->setCustomaActionFormatter('prix_net', 'puFormatter', array('decimalSeparator' => ',',
'thousandsSeparator' => ' ',
'suffix' => 'â¬',
'decimalPlaces' => 2,
'defaultValue' => ' ', ));
$query = Doctrine_Query::create()
->select('*, f.*, g.*, m.*, s.*, ft.*, fil.*')
->from(sfConfig::get('app_ecom_product_class') . ' as p')
->where('siteecommerce = 2 AND siteinvisible <> 2')
->innerJoin('p.marque as m')
->innerJoin('p.ficheTechnique as ft')
->innerJoin('p.familles as f')
->leftJoin('p.sousfamilles as s')
->innerJoin('f.gamme as g')
->leftJoin('ft.filtres as fil');
if (($gamme = $request->getParameter('gamme'))) {
$query->andWhere('g.codegamme = ?', $gamme);
}
if (($famille = $request->getParameter('famille'))) {
$query->andWhere('f.codefamille = ?', $famille);
}
if (($marque = $request->getParameter('marque'))) {
$query->andWhere('m.codemarque = ?', $marque);
}
if (($sfamille = $request->getParameter('sousFamille')) || ($sfamille = $request->getParameter('sousfamille'))) {
$query->andWhere('s.codesfamille = ?', $sfamille);
}
$grid->setQuery($query);
return $grid;
} |
Partager