Bonjour,
Je cherche à ajouter une loop dans la fiche produit grace à AdminIncludes/product-edit.html comme suit :
{loop type='degressif' name='degressif.tranche' product_id={$product_id}}
Puis je créé ma loop comme dans la doc : http://doc.thelia.net/en/documentation/ … loops.html
Je créé mon loop dans le config.xml de mon module
<loops>
<loop name="degressif" class="Degressif\Loop\DegressifLoop" />
</loops>
Puis le fichier Loop/DegressifLoop.php
avec ceci :
namespace Degressif\Loop;
use Thelia\Core\Template\Element\BaseLoop;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\LoopResultRow;
use Thelia\Core\Template\Element\ArraySearchLoopInterface;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Loop\Argument\Argument;
class DegressifLoop extends BaseLoop implements ArraySearchLoopInterface
{
public $countable = true;
public $timestampable = false;
public $versionable = false;
public function getArgDefinitions()
{
return new ArgumentCollection(
Argument::createIntListTypeArgument('start', 0),
Argument::createIntListTypeArgument('stop', null, true)
);
}
public function buildArray()
{
$items = array();
$start = $this->getStart();
$stop = $this->getStop();
for($i=$start; $i<=$stop; $i++ {
$items[] = $i;
}
return $items;
}
public function parseResults(LoopResult $loopResult)
{
foreach ($loopResult->getResultDataCollection() as $item) {
$loopResultRow = new LoopResultRow();
$loopResultRow->set("MY_OUTPUT", $item);
$loopResult->addRow($loopResultRow);
}
return $loopResult;
}
}
Je n'ai pas du comprendre quelque chose, car ca me met dans l"onglet module de ma fiche produit :
Loop type 'degressif' is not defined.