THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


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.


W-Prog - Développement site internet

Offline

Offline


Ok mais voir le deve de http://localhost/thelia/web/admin/products/update?product_id=1&page=1#modules ? Comment fait on ?

Ok trouvé : http://localhost/thelia/web/index_dev.php/admin/products/update?product_id=1&page=1#modules

Mais j'ai toujours une erreur 500 maintenant (visible depuis  la console ). Pourtant j'ai bien activé les erreurs dans php...

Last edited by w-prog (13-07-2016 17:11:40)


W-Prog - Développement site internet