Hi zusammen,
ich habe mir folgende Klasse für die Articlelist überladen:
public function loadCategoryArticles( $sCatId, $aSessionFilter, $iLimit = null, $rand )
{
$sArticleFields = $this->getBaseObject()->getSelectFields();
$sSelect = $this->_getCategorySelect( $sArticleFields, $sCatId, $aSessionFilter );
// calc count - we can not use count($this) here as we might have paging enabled
// #1970C - if any filters are used, we can not use cached category article count
$iArticleCount = null;
if ( $aSessionFilter) {
$iArticleCount = oxDb::getDb()->getOne( $this->_getCategoryCountSelect( $sCatId, $aSessionFilter ) );
}
if ($iLimit = (int) $iLimit) {
$sSelect .= " LIMIT $iLimit";
}
$this->selectString( $sSelect );
if ( $iArticleCount !== null ) {
return $iArticleCount;
}
// this select is FAST so no need to hazzle here with getNrOfArticles()
return oxUtilsCount::getInstance()->getCatArticleCount( $sCatId );
}
und möchte jetzt die jeweilige Kategorie gerandomized ausgeben und den Parameter $rand mit geben. Ein “order by rand()” vor dem Limit funktioniert allerdings nicht, da schon irgendwie ein ORDER mit übergeben wird und somit der Query falsch ist.
Hat jemand ne Idee, wie ich den “Zufallsgenerator” da noch unterbringe? Oder doch nen eigenen Query?