Antworten auf deine Fragen:
Neues Thema erstellen

sortierung in Kategorie ändern

MIKNE

Nicht mehr ganz neu hier

Schönen Tag allerseits,
habe auf Joomla 3 einen Katalog erstellt, der sich mit der Extension DJ-Flyer auch sehr einfach und schnell erstellen läßt.
Nur gibt es ein Problem, daß die Sortierung nur absteigend bzw. noch nach Namen bzw. Random eingestellt werden kann.
Es soll aber der neue einzugenbende Artikel nicht als letzter Artikel aufscheinen sondern als erster.
leider bin ich in PHP nicht versiert deshalb wäre es nett wenn mir hier jemand helfen könnte.

die mod_djflyer sieht so aus:

defined('_JEXEC') or die('Restricted access');

// Include the syndicate functions only once
require_once (dirname(__FILE__).DIRECTORY_SEPARATOR.'helper.php');
$document=JFactory::getDocument();
$css = JURI::base().'modules/mod_djflyer/css/djflyer.css';
$document->addStyleSheet($css);

$par = JComponentHelper::getParams('com_djflyer');
if($par->get('responsive_css','1')=='1'){
$css = JURI::base().'modules/mod_djflyer/css/djflyer_responsive.css';
$document->addStyleSheet($css);
}

//$params->def('greeting', 1);
$cats_list = $params->get('djcats');

if(count($cats_list)>0){
$cat_l = implode(',', $cats_list);

$ordering = $params->get('djorder','ordering');

$cats = modDjFlyer::getCategories($cat_l);
$items = modDjFlyer::getItems($cat_l,$ordering);

$user =JFactory::getUser();

require(JModuleHelper::getLayoutPath('mod_djflyer'));
}

?>

dann gibt es noch eine helper.php:

defined('_JEXEC') or die('Restricted access');

class modDjFlyer
{
static function getCategories($ids){
$db= JFactory::getDBO();
$query = "SELECT c.* FROM #__djflyer_categories c WHERE c.id IN (".$ids.") ORDER BY c.ordering";
$db->setQuery($query);
$cats=$db->loadObjectList();
return $cats;
}

static function getItems($ids,$ordering){
$db= JFactory::getDBO();
$ordering = $ordering == "random" ? "RAND()" : "i.".$ordering;
$query = "SELECT i.*, c.name as cat_name, a.alias as a_alias, a.catid as a_catid "
." FROM #__djflyer_categories c, #__djflyer_items i "
."LEFT JOIN #__content a ON i.art_id = a.id "
." WHERE i.published=1 AND i.cat_id = c.id AND i.cat_id IN (".$ids.") ORDER BY ".$ordering;
$db->setQuery($query);
$items=$db->loadObjectList();
return $items;
}

}
über Eure Hilfe würde ich mich freuen
Mike
 

Moin,
du wirst den Quelltext ändern müssen, also beim nächsten Update alles noch mal ...
Der lange und bessere Weg: lege dir einen neuen Parameter für die Direction an und binde ihn ein (eine von vielen Möglichkeiten):
PHP:
$ordering = $params->get('djorder','ordering');
$dir = $params->get('djdir');  // params: ASC oder DESC

$cats = modDjFlyer::getCategories($cat_l);
$items = modDjFlyer::getItems($cat_l,$ordering . ' ' . $dir);

oder kurz und schmerzlos:
PHP:
$ordering = $ordering == "random" ? "RAND()" : "i.".$ordering . " DESC";
oder noch ein klein wenig kürzer:
PHP:
$ordering = $ordering == "random" ? "RAND()" : "i.{$ordering} DESC";

Nachzulesen in der MySQL-Beschreibung unter ORDER BY. Der Rest in der Joomla-Doku ...
Wenn es nicht reicht, bitte nochmal melden.

Gruß Ulli
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.993
Beiträge
1.540.266
Mitglieder
68.217
Neuestes Mitglied
lokitaks
Oben