[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Mehrere/Alle Dateien aus einer Medienkategorie übernehmen - REDAXO Forum
Hallo,

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 und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme 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: https://redaxo.org/slack/
dflinkmann
Beiträge: 11
Registriert: 28. Jun 2007, 15:11

Mehrere/Alle Dateien aus einer Medienkategorie übernehmen

14. Mai 2008, 00:24

Mein Wunsch für eine neue Redaxo Version wäre einen Button, welcher mir bei der Auswahl der Medien (meist Bilder für eine Gallerie) gleich mehrere Bilder in einem Rutsch zu übernehmen.

Im Normalfall kann man ja jedes Bild anklicken, aber bei mehr als 80-300 Bildern macht das keinen Spaß mehr ;-).

z.B. dass Addon Greybox erlaubt mehrere Bilder zu einer Liste hinzuzufügen. Da bei der Medienauswahl schon die Möglichkeit gegeben ist an Dateien einen Checkflag zu setzen, bzw. am Ende der Auswahl ALLE Dateien der aktuellen Medienauswahl zu markieren, fehlt nur noch der Button zum Übernehmen.

Das ganze würde dann wie folgt aussehen:

[ externes Bild ]
Bilderauswahl (in diesem Beispiel von GreyBox) anklicken.

[ externes Bild ]
Viele Bilder in einer Kategorie

[ externes Bild ]
Herunterscrollen bis zum Ende der Seite und den linken Haken für alle Dateien anklicken. Jetzt auf den "neuen" Button (ÜBERNEHMEN) klicken.

[ externes Bild ]
Juhuu, alle Bilder sind übernommen.

Das ganze ist auf jeden Fall technisch möglich und funktioniert mit folgender Änderung an ./redaxo/include/pages/medienpool.inc.php :

(Diff zwischen Original und Patch)

Code: Alles auswählen

--- medienpool.inc.php-old	2008-03-24 15:44:00.000000000 +0100
+++ medienpool.inc.php	2008-05-13 23:27:00.000000000 +0200
@@ -111,10 +111,41 @@
 

     }

   ?>

 }

 

+function selectMedialistChecked(FieldName)
+{
+	var objCheckBoxes = new getObjArray(FieldName);
+
+	if (!objCheckBoxes) return;
+
+	var countCheckBoxes = objCheckBoxes.length;
+
+	if (!countCheckBoxes) {
+		if (objCheckBoxes.checked) {
+			// quick and dirty:
+			// von der Checkbox zum sp‰teren a-Tag durchhangeln, da dort der Dateiname steht
+			var h = objCheckBoxes.parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.href;
+
+			var filename = h.substring(h.indexOf("'")+1, h.lastIndexOf("'"));
+			selectMedialist(filename);
+		}
+	} else {
+		for (var i = 0; i < countCheckBoxes; i++) {
+			if (objCheckBoxes[i].checked) {
+				// quick and dirty:
+				// von der Checkbox zum sp‰teren a-Tag durchhangeln, da dort der Dateiname steht
+				var h = objCheckBoxes[i].parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.href;
+				
+				var filename = h.substring(h.indexOf("'")+1, h.lastIndexOf("'"));
+				selectMedialist(filename);
+			}
+		}
+	}
+}
+
 function SetAllCheckBoxes(FieldName, mthis)

 {

   var CheckValue;

 

   if (mthis.checked) CheckValue=true;

@@ -1394,10 +1425,11 @@
         <label class="rex-hide" for="rex_move_file_dest_category">'.$I18N->msg('pool_selectedmedia').'</label>

         '. $cats_sel->get() .'

         <input class="rex-sbmt" type="submit" value="'. $I18N->msg('pool_changecat_selectedmedia') .'" onclick="var needle=new getObj(\'media_method\');needle.obj.value=\'updatecat_selectedmedia\';" />';

     }

     $add_input .= '<input class="rex-sbmt" type="submit" value="'.$I18N->msg('pool_delete_selectedmedia').'"'. rex_accesskey($I18N->msg('pool_delete_selectedmedia'), $REX['ACKEY']['DELETE']) .' onclick="if(confirm(\''.$I18N->msg('delete').' ?\')){var needle=new getObj(\'media_method\');needle.obj.value=\'delete_selectedmedia\';}else{return false;}" />';

+	$add_input .= '<input class="rex-sbmt" type="button" value="¸bernehmen" onclick="selectMedialistChecked(\'selectedmedia[]\')"/>';
 

     echo '

     	<tfoot>

     	<tr>

     		<td class="rex-txt-algn-cntr rex-icon">
Für eine hübsche Version, müssten vielleicht noch ein paar Abfragen/Überprüfungen mit rein, aber so generell funktioniert es über dien Hack schon bei mir.


So eine Funktion würde ich mir in zukünftigen Redaxo-Versionen gerne serienmässig wünschen.

(Danke an Milindur(.de) für den Hack und der selbstverständlichen Freigabe der Änderung hier im Forum)

Viele Grüße,

Daniel

dflinkmann
Beiträge: 11
Registriert: 28. Jun 2007, 15:11

19. Mai 2008, 12:35

Schade dass es noch nichtmals eine Reaktion von Irgendjemanden gab.

Ich hatte aufgrund der vielen Gallerie-Fragen erwartet dass zumindest der eine oder andere Interesse zeigen könnte, oder die Entwickler ein Wort dazu abgeben.

Viele Grüße,

Daniel

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

19. Mai 2008, 12:45

Beim Magazin-Layout kann man eine Medienpool-Kategorie auswählen aus der die Galerie erzeugt wird.
Ich favorisiere diese Lösung.
Aber Dein Ansatz finde ich ich ebenfalls nicht schlecht.
So kann man evtl. einige Bilder auslassen.

tichy
Beiträge: 175
Registriert: 23. Sep 2007, 23:43

19. Mai 2008, 16:53

Ich würde das begrüßen, sehr sogar

matthias@wiedmer
Beiträge: 31
Registriert: 22. Sep 2009, 11:57

fix für ie

22. Sep 2009, 12:01

damit das ganze auch im ie funktioniert folgende zeile austauschen:

Code: Alles auswählen

var h = objCheckBoxes[i].parentNode.nextSibling.nextSibling
.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.href
mit dieser hier:

Code: Alles auswählen

var h =

objCheckBoxes[i].parentNode.parentNode.getElementsByTagName("td")[3]
.getElementsByTagName("a")[0].href;

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

22. Sep 2009, 12:14

hallo,

ich muss zugeben - ich habe es erst jetzt gelesen.. sieht gut aus und ich denke, dass es auch fuer redaxo sinn macht.

lg

jn
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

Benutzeravatar
gemüsebrühe
Beiträge: 176
Registriert: 14. Feb 2007, 21:31

14. Feb 2010, 23:08

Wie sähe die Änderung für REX 4.2 aus?
So clickable, design is lickable.
Code is poetry.

cervelat
Beiträge: 111
Registriert: 7. Mai 2008, 22:32

4. Mär 2010, 15:20

Moin, ich interessiere mich auch für die geänderte Medienpool-Datei, allerdings werde ich aus dem angegebenen Code nicht so richtig schlau.

Hat jemand von Euch die Datei schon an die aktuelle Redaxo-Version angepasst und kann den kompletten Code zur Verfügung stellen? Das wäre fein :wink:
Grüße,
David

matthias@wiedmer
Beiträge: 31
Registriert: 22. Sep 2009, 11:57

4. Mär 2010, 15:54

hallo!

handelt sich um ein diff mit dem du die datei patchen könntest.
mein zusatz ist darin zwar nicht enthalten aber du kannst das patchen ja auch von hand übernehmen.

ansonsten schick mir doch deine email per pn dann mail ich dir einfach die ganze datei.


grüße,
matthias

Zurück zu „Sonstiges“