Hallo, lieber Forumbenutzer. Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen, für deine Fragen/Probleme aktuell (zusätzlich) Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: http://redaxo.org/slack/
harrybrader

Medienpool Ausgabe sortieren

16. Okt 2007, 13:02

Hallo,
wie kann ich die Ausgabe des Medienpools anpassen, damit die Medien nach Titel sortiert werden und nicht nach dem letzten Upload oder Aktualisierung?

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

16. Okt 2007, 14:02

Hi,

aktuell gar nicht. Die Sortierung ist (noch) nicht beeinflussbar.

Gruß,
Markus

Zuperfly
Beiträge: 214
Registriert: 17. Mär 2006, 18:42

8. Jan 2008, 15:34

Und geht das denn inzwischen? ;)

Mit

Code: Alles auswählen

$mediaCat = OOMediaCategory::getCategoryById($catId);
  $files = $mediaCat->getFiles();
hole ich in meinem Modul z.B. alle PDF einer Kategorie, allerdings steht das aktuellste PDF in der Ausgabe immer unten in der Liste.

Kann man das irgendwie mit den im Wiki beschriebenen Sortiermöglichkeiten für Artikeln kombinieren, oder gelten die nur für Artikel und im Medienpool geht da wirklich gar nix??

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

8. Jan 2008, 16:02

Zuperfly hat geschrieben:Und geht das denn inzwischen? ;)
Nein, ist auch nicht in allzunaher zukunft angedacht..
Zuperfly hat geschrieben: Kann man das irgendwie mit den im Wiki beschriebenen Sortiermöglichkeiten für Artikeln kombinieren, oder gelten die nur für Artikel und im Medienpool geht da wirklich gar nix??
könnte/sollte funktionieren :-)

Gruß,
Markus

iceman-fx
Beiträge: 467
Registriert: 13. Feb 2007, 16:16
Wohnort: Sachsen
Kontaktdaten: Website

8. Jan 2008, 17:32

Es geht schon, aber nur wenn Du in der medienpool.inc.php (/redaxo/include/pages/) eine Zeile änderst.

Zeile:
$files->setQuery("SELECT * FROM ".$REX['TABLE_PREFIX']."file WHERE category_id=".$rex_file_category." ORDER BY updatedate desc");

ändern in (Beispiel: Name, Updatedatum):
$files->setQuery("SELECT * FROM ".$REX['TABLE_PREFIX']."file WHERE category_id=".$rex_file_category." ORDER BY title asc, updatedate desc");

Gruß iceman

PS: vorher immer schön eine Sicherheitskopie der zu ändernden Datei machen ;-))

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

8. Jan 2008, 18:17

Hi iceman-fx,

ich vermute dass Zuperfly nur die Ausgabe innerhalb eines Moduls/Template o.ä. ändern wollte..

Gruß,
Markus

iceman-fx
Beiträge: 467
Registriert: 13. Feb 2007, 16:16
Wohnort: Sachsen
Kontaktdaten: Website

8. Jan 2008, 20:59

Auch ne Möglichkeit ;-))

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

30. Mai 2008, 10:40

*push* ...

HI,
hmm vor dem Problen steh ich auch grad (auf m Schlauch).

Ich versuch grad in einem Modul per array_multisort();
die '_orgnamen' zu sortieren. Leider mit ner Menge Fehlermeldungen.
Wäre nett wenn da kurz jemand helfen könnte.

Code: Alles auswählen


/*
Array
(
    [0] => OOMedia Object
        (
            [_id] => 240
            [_parent_id] => 0
            [_cat_id] => 11
            [_cat_name] => Bilder 2007
            [_cat] => 
            [_name] => 05.jpg
            [_orgname] => 05.jpg
            [_type] => image/jpeg
            [_size] => 1618365
            [_width] => 1205
            [_height] => 1795
            [_title] => 
            [_updatedate] => 1212058204
            [_createdate] => 1212058204
            [_updateuser] => admin
            [_createuser] => admin
            [_attributes] => 
            [_revision] => 
            [_med_description] => 
            [_med_copyright] => 
        )
*/
$cat = OOMediaCategory::getCategoryById($galleryId);
$bilder = $cat->getFiles();

$bilder = array_multisort($bilder, SORT_ASC, $cat->getValue('orgname');

foreach ($bilder as $bild) {}
Danke schonmal. grz. Chris

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

30. Mai 2008, 10:51

:oops: erledigt:

Code: Alles auswählen

if (!function_exists('sortArticlesByFileName')) {
	function sortArticlesByFileName($artA, $artB) {
		$nameA = $artA->getValue('orgname');
		$nameB = $artB->getValue('orgname');
		if ($nameA == $nameB){
			return 0;
		} 
		$names = array($nameA,$nameB);
		sort($names, SORT_STRING);
		return $names[0] == $nameA ? -1 : 1;
	}
} 

$cat = OOMediaCategory::getCategoryById($galleryId);
$bilder = $cat->getFiles();
	
if (count($bilder) > 0) {
	usort($bilder, "sortArticlesByFileName");
}

grz. Chris

Marshall
Beiträge: 70
Registriert: 8. Dez 2008, 22:05

Re: Medienpool Ausgabe sortieren

15. Feb 2012, 21:32

Hallo allerseits,
o.g. Hinweis scheint für aktuelle Rexdaxo-Version veraltet (oder ich fand es einfach nicht).

Für eine Sortierung nach z.B. Name (rex_file::filename) in Redaxo 4.3.x ist die Änderung (imho) in
/include/pages/mediapool.media.inc Zeile 645 zu machen.

Order-Statement am Ende beispielsweise:

Code: Alles auswählen

$qry = "SELECT * FROM ".$REX['TABLE_PREFIX']."file f WHERE ". $where ." ORDER BY f.filename ASC, f.updatedate desc";
Grüße

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Medienpool Ausgabe sortieren

16. Feb 2012, 09:07

HI...
joa, o.g. code is schon etwas älter.
Würde es aber nicht am Core verädern.

Sollte statt orgname nun "filename" oder "originalname" funzen: (Redaxo 4.3.2)

Code: Alles auswählen

if (!function_exists('sortArticlesByFileName')) {
   function sortArticlesByFileName($artA, $artB) {
      $nameA = $artA->getValue('filename'); // originalname
      $nameB = $artB->getValue('filename'); // originalname
      if ($nameA == $nameB){
         return 0;
      } 
      $names = array($nameA,$nameB);
      sort($names, SORT_STRING);
      return $names[0] == $nameA ? -1 : 1;
   }
} 

$cat = OOMediaCategory::getCategoryById($galleryId);
$bilder = $cat->getFiles();
   
if (count($bilder) > 0) {
   usort($bilder, "sortArticlesByFileName");
}
*ungetestet*
grz. Chris

Zurück zu „Allgemeines [R3]“