ago
26

Magento – Impostare l’ordine casuale usando RAND()

Scritto da: Magento Expert  | Archivio: Guide Per Magento Commerce, Moduli Per Magento

Scenario:

Hai creato un modulo personalizzato, hai inserito alcuni dati nel tuo database e hai bisogno di mostrarli random, in maniera casuale.

Soluzione:

La funzione rand() in MySQL serve ad andare a prendere i dati in maniera casuale. All’interno di Magento, si possono selezionare le righe da mostrare in maniera random dalla tabella MySQL utilizzando Zend_Db_Expr(‘RAND()’).

Per fare ciò devi creare una nuova funzione nella classe del tuo modulo (NomedelloSpazio/NomeModulo/Model/Mysql4/NomeModulo/Collection.php)

public function setRandomOrder()
{
	$this->getSelect()->order(new Zend_Db_Expr('RAND()'));
	return $this;
}

Ora puoi andare a prendere i dati dalla tabella in maniera random utilizzando la funzione setRandomOrder appena creata. Il codice che segue può essere inserito in un blocco o nel file template del tuo modulo (.phtml)

$collection = Mage::getModel('yourmodule/yourmodule')
					->getCollection()
					->setRandomOrder();
 
echo "
<pre>"; print_r($collection-&gt;getData()); echo "

“;

Spero vi sia d'aiuto

Fonte: blog.chapagain.com

Lascia un commento