Hi,
ich bin erst seit ein paar Wochen REDAXO Nutzer und doch recht begeistertert. Tolles CMS, feine Community.
Aber auch mir wären einzelne Unterordner im Medienpool lieber und da ich scheinbar nicht allein mit diesem Wunsch bin, werd ich hier mal einen kleinen Patch für REDAXO 4.2.1. online stellen.
Der Patch ist ausschließlich für REDAXO 4.2.1
Mit diesem Patch wird beim Upload oder Sync von Dateien für die ausgewählte Medienkategorie ein Unterordner im Ordner files angelegt. Dieser Unterordner hat nur den Namen der jeweiligen Kategorie-ID. Dateien einer Kategorie landen somit alle im gleichen Unterordner. Dateien die keiner Kategorie zugeordnet sind (id=0) werden wie bisher im files Ordner gespeichert. Es gibt keine Unterornderhirarchie. Soll heißen: Ist eine Kategorie mit id=2 Kind einer Kategorie mit id=1 so kommen die Dateien in den Orner ".../files/2/" und NICHT in ".../files/1/2/".
Beim Ändern der Kategorie einer Datei wird diese in den zugehörigen Kategorienordner verschoben.
In der REDAXO Datenbank werden in Tabelle "rex_file" in Spalte "filename" die Dateinamen der Medien jetzt inclusive des Unterordnernamens gepeichert. Also in der Form [id]/[filename]. Da REDAXO-intern scheinbar immer auf dieses Feld zugegriffen wird (zumindest backend-seitig), um die Url zur Datei zusammenzubauen (mit "$REX['HTDOCS_PATH'].'/files/'.$filename" bzw. "$REX['MEDIAFOLDER'].'/'.$filename") dürfte es kaum Probleme damit geben. Allerdings musste noch eine kleinere Änderung am image_resize AddOn vorgenommen werden ('/'-Zeichen im Dateinamen wurden nach '%2F' ersetzt).
Wie dem auch sei, das ganze hat natürlich auch ein paar erhebliche Nachteile. Ändert man die Kategorie einer Datei, wird diese Datei verschoben. Somit ändert sich auch der zugehörige Link zur Datei. Das heißt frontend-seitig sind die Dateien dann höchstwahrscheinlich nicht mehr erreichbar. Also mussen diese Links händisch bearbeitet werden, oder es muss für jeden Seitenaufruf die REDAXO Datenbank bemüht werden, was nicht wirklich wünschenswert ist. Somit ist auch klar, dass man mit diesem Patch nicht einfach einen bestehenden Medienpool, und somit den files-Ordner, umstrukturieren sollte.
Ich stimme Markus.Staab voll und ganz zu. Man sollte sich genau überlegen, ob man die Unterordner wirklich benötigt. Ich brauchte Sie, um die Dateien des Medienpools unterschiedlich per .htaccess zu schützen.
Für den Patch müssen folgenden drei Dateien ausgetauscht werden.
redaxo/include/functions/function_rex_mediapool.inc.php
redaxo/include/pages/mediapool.media.inc.php
redaxo/include/addons/image_resize/classes/class.thumbnail.inc.php
Zu finden unter:
http://github.com/berndkohlman/Redaxo-4 ... lder-Patch
Zum Nachlesen wurden alle Änderungen an den originalen REDAXO-Dateien durch die Kommentare "MEDIAPOOL SUBFOLDER PATCH: - Beginn" bzw. "MEDIAPOOL SUBFOLDER PATCH: - Ende" markiert.