refresh position in accessory

This commit is contained in:
Etienne Roudeix
2013-09-19 16:55:50 +02:00
parent f74884e63c
commit 4ecf388d8b
2 changed files with 13 additions and 1 deletions

View File

@@ -93,8 +93,10 @@ class Accessory extends Product
$accessories = $this->search($search); $accessories = $this->search($search);
$accessoryIdList = array(0); $accessoryIdList = array(0);
$accessoryPosition = array();
foreach ($accessories as $accessory) { foreach ($accessories as $accessory) {
array_push($accessoryIdList, $accessory->getAccessory()); array_push($accessoryIdList, $accessory->getAccessory());
$accessoryPosition[$accessory->getAccessory()] = $accessory->getPosition();
} }
$receivedIdList = $this->getId(); $receivedIdList = $this->getId();
@@ -106,7 +108,15 @@ class Accessory extends Product
$this->args->get('id')->setValue( implode(',', array_intersect($receivedIdList, $accessoryIdList)) ); $this->args->get('id')->setValue( implode(',', array_intersect($receivedIdList, $accessoryIdList)) );
} }
return parent::exec($pagination); $loopResult = parent::exec($pagination);
foreach($loopResult as $loopResultRow) {
$loopResultRow
->set("POSITION" , $accessoryPosition[$loopResultRow->get('ID')])
;
}
return $loopResult;
} }
} }

View File

@@ -132,6 +132,8 @@ class TheliaLoop extends AbstractSmartyPlugin
$loopResults = $loop->exec(self::$pagination[$name]); $loopResults = $loop->exec(self::$pagination[$name]);
$loopResults->rewind();
$this->loopstack[$name] = $loopResults; $this->loopstack[$name] = $loopResults;
// Pas de résultat ? la boucle est terminée, ne pas évaluer le contenu. // Pas de résultat ? la boucle est terminée, ne pas évaluer le contenu.