Hallo,
bevor ich selber die Tasten bewege: Gibt es ein Downloads-CE, das auch mit Verzeichnissen umgehen kann? Das einzige, was ich gefunden habe ist einige Jahre alt und für 3.xx wohl nicht zu gebrauchen...
Danke!
Hallo,
bevor ich selber die Tasten bewege: Gibt es ein Downloads-CE, das auch mit Verzeichnissen umgehen kann? Das einzige, was ich gefunden habe ist einige Jahre alt und für 3.xx wohl nicht zu gebrauchen...
Danke!
...bisher leider noch nicht... ich hab' mir jetzt selbst was "zusammengeklöppelt" - aber das ist QAD und nur in einem Template drin, also kein vollwertiges CE.
Gruß
Hallo DampfHans,
kannst Du mir einen Tipp geben, wie Du diese Funktion in das Template integriert hast? Es sah für mich bisher nicht so aus, als ob die nötigen Informationen überhaupt im Template ankommen.
Viele Grüße
bird
In meinem Fall wird bei einem Datensatz im BE ein Ordner ausgewählt - die uuid steht dann also im Attribut (heißt bei mir "docpath"). Mit
hole ich mir dann alle Dateiinfos in ein Array und nutze sie dann für die Ausgabe etc.HTML-Code:$basedir = \FilesModel::findByUuid( $docpath ); $filesindir = \FilesModel::findMultipleByBasepath( $basedir->path );
Beantwortet das Deine Frage?
Hallo DampfHans,
das klingt interessant, klappt bei mir bisher aber leider nicht. Mit welcher Contao Version hast Du es umgesetzt? Was übergibst Du in Deinem Fall als $docpath?
Ich kann mit $this->files[x][path] jeweils den Ordnerpfad der Datei ausgeben lassen, wüsste momentan aber nicht, wie ich an die Unterordner deren Inhalte komme.
Die Version ist 3.09 - sonst gäbe es ja auch keine Model-Klassen :-)
$docpath enthät die uuid zum betreffenden Pfad - so, wie sie in der DB steht. Der entsprechende DCA-Eintrag sieht so aus:
Zur weiteren Verarbeitung "schaufel" ich alle Einträge dann noch in ein Array - also alles zusammen:Code:'docpath' => array ( 'label' => &$GLOBALS['TL_LANG']['tl_dweller']['docpath'], 'exclude' => true, 'inputType' => 'fileTree', 'eval' => array('dirsOnly'=>true, 'fieldType'=>'radio'), 'sql' => "binary(16) NULL" )
aber das muss natürlich nicht sein und ist einfach nur bequem zum weiteren Handling.Code:$basedir = \FilesModel::findByUuid( $docpath ); $filesindir = \FilesModel::findMultipleByBasepath( $basedir->path ); $files = array(); foreach ( $filesindir as $iFile ) if ( $basedir->path != $iFile->path ) $files[ strtoupper( $iFile->path ) ] = $iFile; ksort( $files );
Hallo DampfHans,
vielen Dank für Deine Erläuterung!! Ich hatte beim ersten Test statt $docpath einfach die UUID eines Ordners aus der Datenbank (ohne Bindestriche) eingegeben, was nicht funktioniert hat. Gebe ich die UUID mit Bindestrichen ein, stimmt die Zuordnung und es wird ein Array mit allen Inhalten (folder oder files) erzeugt.
Für mich stellen sich dadurch aber trotzdem noch 2 Fragen:
- Wie kann ich die UUID des jeweils ausgewählten Ordners an das Template übergeben? Dafür muss man wahrscheinlich die ce_downloads anpassen.
- Wie kann ich auf einer Seite und mit einem Template zwischen den Ordnern und Downloads wechseln? Das müsste man wahrscheinlich mittels AJAX umsetzen.
Von WO willst Du die UUID denn übergeben? Willst Du einen Link in einer Downloadseite haben? Dann musst Du in der Tat das ce-Downloads-Template ergänzen.
Da die UUID aber nicht vom Himmel fällt und auch nicht "hart verdrahtet" sein sollte, musst Du zusätzlich irgendwo eine Seitenauswahl, wo die entsprechende Weiterleitungsseite ausgewählt werden kann, einbauen. Falls Du den Link also in der Downloads-Seite haben willst, dann musst Du auch das DCA für tl_content entsprechend erweitern. Falls die Seite global immer die gleiche ist, kannst Du auch tl_settings erweitern... wie es halt passt :-)
Für die Aktionen im Ordner kannst Du AJAX nehmen... oder Selflinks... oder aber alles komplett laden und per JS DIVs ein- und ausschalten o.ä. - letzteres ist das schnellste und einfach zu machen, ist aber nur bei überschaubaren Dateimengen sinnvoll (wobei das natürlich auch für die Verwendung von \FilesModel::findMultipleByBasepath gilt)
Hallo,
ich habe so ein Modul gerade eben programmiert. Ich werde es in der Kommenden Woche in das Extension Repo einstellen und euch dann den Link hier rein posten!
Hallo,
ich habe nun mal die erste Version bei Guthub raufgeladen:
https://github.com/pagesofa/pagesofa_file_download
wenn es Fragen oder Anregungen (auch psoitive) gibt einfach hier posten!
Hallo bcit6k,
ich wollte die Erweiterung eben mit Contao 3.2.7 testen, erhalte aber bereits nach dem Update der Datenbank zahlreiche Fehlermeldungen:
Warning: include(/.../system/modules/pagesofa_file_download/models/PagesofaFileDownloadModel.php) [function.include]: failed to open stream: No such file or directory in system/modules/core/library/Contao/ClassLoader.php on line 163
Warning: include(/.../system/modules/pagesofa_file_download/models/PagesofaFileDownloadModel.php) [function.include]: failed to open stream: No such file or directory in system/modules/core/library/Contao/ClassLoader.php on line 152
Warning: Class 'Contao\PagesofaFileDownloadModel' not found in system/modules/core/library/Contao/ClassLoader.php on line 164
Fatal error: Class 'PagesofaFileDownloadModel' not found in /.../system/modules/core/library/Contao/Model.php on line 140
Hallo,
kann es sein das der ordner den du in modules reinkopiert hast "pagesofa_file_download-master" lautet?
er muss aber "pagesofa_file_download" lauten! github macht das -master dazu weil es der master branch ist.
Das würde erklären warum du zwar die Datenbankänderungen einspielen konntest aber er nun die files nicht finden kann.
Ja, das könnte sein Danke für den Hinweis!
Kann das Modul mit Unterordnern umgehen? Ich erhalte unabhängig vom Ordnernamen folgenden Fehler:
Fatal error: Uncaught exception Exception with message Directory "files/test/test" is not a file thrown in system/modules/core/library/Contao/File.php on line 98
Beide Test-Ordner enthalten eine Datei (*.doc), deren Endung in der Konfiguration freigeschaltet wurde.
Noch eine ganz andere Frage: Ich möchte über die ce_downloads die neuesten 10 Dateien aus verschiedenen Ordnern ausgeben lassen. Soweit ist das kein Problem, nur die Begrenzung auf x Dateien ist bisher nicht vorgesehen.
Wie kann ich diese Ausgabe für eine bestimmte Seite am besten realisieren? If-Abfrage des Seitennamens mit anschließender For-Schleife im Template ce_downloads? Geht das anders oder eleganter?
Hallo,
ich habe den Fehler gefunden. Ich werde heute Abend einen fix auf github stellen. Ich bau auch gleich ein das subfolder ein oder ausgeschlossen werden (checkbox).
wenn du das einstweilen gleich fixen möchtest dann ersetze die Zeile 70 in Module\ModulePagesofaFileDownload.php durch
sorry nochmal, das habe ich wohl übersehenPHP-Code:
if(!in_array($file, array('.','..')) && !is_dir($configData->path . '/' .$file)) {
Danke!
Vielen Dank für Deine schnelle Reaktion und die Zeit, die Du in diese Erweiterung investierst!
Bei meiner Version steht die If-Abfrage in Zeile 66, ersetze ich diese, wird das Problem aber leider noch nicht behoben.
Sind Leerzeichen oder Großbuchstaben bei den Ordnernamen ein Problem? Sind theoretisch auch Umlaute möglich?
Hallo,
ich habe das Modul nun upgedated. Folgendes habe ich hinzugefügt / geändert. (du musst den installer noch mal aufrufen da es ein neues Feld in der Tabelle gibt!)
+ checkbox bei der config -> Unterverzeichnise anzeigen ja/nein
+ es kann auch nur eine Datei (anstelle eines Ordner) gewählt werden.
Alle Files werden in einer Ebene im $this->fileList im Template ausgegeben. Falls du den Pfad extra anzeigen möchtest müsstest du dir diesen aus dem path im array holen.
Wenn dir das Modul gut gefällt würde ich mich über einen Star bei GitHub freuen!
Hallo bcit6k,
ich habe die neue Version eben installiert. Wo finde ich die Checkbox für die Auswahl der Unterverzeichnisse?
Ich habe weder in den Einstellungen noch im Modul eine Auswahl dafür gefunden.
- Bei mir werden Unterordner und die entsprechenden Dateien momentan nicht angezeigt
- Es werden nur die Dateien im obersten Verzeichnis angezeigt, diese lassen sich aber nicht anklicken bzw. führt ein Klick nur auf die Root-Seite
Guten Morgen,
also die Checkbox befindet sich in der Config-> siehe Bild. Hast du den Installer noch mal neu gestartet? denn es kommt ein Feld in der DB Tabelle hinzu.
Für mich klingt das so als hättest du die alten files vieleicht nicht ersetzt. Schau mal im Modules Ordner die Datei sollte nun 6Kb haben, vorher 4 Kb.
lg
Hallo,
hat das nun funktioniert? Benötigst du noch Hilfe?
Hallo bcit6k,
das Modul war korrekt installiert, es war aber wohl noch eine alte Version im Cache.
Die Dateien aus den Unterverzeichnissen werden jetzt korrekt angezeigt, öffnen lassen sich diese (wie bereits beschrieben) aber leider nicht. Es scheint auch der Seitenpfad bei den Download-Links nicht zu stimmen, weshalb man immer im Root landet.
Als Feature fände ich es grandios, wenn nicht nur alle Dateien untereinander aufgelistet würden, sondern wenn man die Unterverzeichnisse dynamisch im FE auswählen und anzeigen könnte. Bei vielen Downloads in einer verschachtelten Ordnerstruktur wird es ansonsten sehr schnell unübersichtlich. Das Modul easydownload konnte das mal: https://contao.org/de/extension-list...wnload.de.html
Hallo,
danke für den Hinweis. Ich werde das Feature einbauen und den bug beheben. Sollte am Montag fertig sein.
Danke schönes Wochenende!
Hallo,
ich habe mir den bug noch mal angesehen. Konnte diesen aber nicht reporduzieren. Kannst du mir bitte Details liefern?
danke
Hallo,
ich habe nun das Modul noch erweitert um die Funktion sortieren. Die Dateiliste kann nun nach Namen, Dateigröße und Uploaddatum ASC / DESC sortiert werden. Ich habe die Updates auf Github raufgeladen.
https://github.com/pagesofa/pagesofa_file_download
Danke
Hallo bcit6k,
super vielen mega Dank für die Erweiterung pagesofa_file_download, genau die habe ich benötigt (rekursives Verzeichnisauslesen bei Downloads). Nur eine Kleinigkeit: Ich musste im Template hinter {{page::alias}} noch das ".html" einfügen - oder nutzt ihr Contao alle ohne?
Also, vielen lieben Dank für die Erweiterung
Viele Grüße, Petra
Hallo,
super das freut mich! Ja tatsächlich verwende ich die urls ohne .html
Gibt's die Erweiterung noch wo?
GitHub: nicht auffindbar
Katalog: ebenso.
Hallo TheDrummer,
oh je, die Erweiterung ist ja wirklich futsch, dabei ist sie doch so praktisch. Darf ich rechtlich gesehen die Erweiterung hier posten?
Viele Grüße
Petra
Hallo,
Die Erweiterung wird im Moment überarbeitet. Sobald dies fertig ist poste ich einen Link (ca. 1,5 Wochen noch)
lg
Hallo bcit6k,
die Erweiterung klingt echt interessant.
Bist du inzwischen mit der Programmierung fertig?
Kostenloses E-Book für Contao Einsteiger!
Jetzt den Crashkurs für Contao 4 herunterladen.
Alle Online-Kurse der Contao Academy
trakked.io – the Contao maintenance toolbox
Moin,
ein Download CE, dass auch Unterordner mit ausgibt ist das hier: https://github.com/hofff/contao-recu...ownload-folder
Per Composer mittels 'hofff/contao-recursive-download-folder' installierbar.
Gruß, Cliff
Extensions :: Github
Sponsering: Amazon Wunschliste :: Github :: PayPal
Composer Version prüfen https://jubianchi.github.io/semver-check
Danke Cliff, läuft perfekt!
Kostenloses E-Book für Contao Einsteiger!
Jetzt den Crashkurs für Contao 4 herunterladen.
Alle Online-Kurse der Contao Academy
trakked.io – the Contao maintenance toolbox
Hallo zusammen,
kann man die Erweiterung auch ohne den Composer installieren?
Hallo Dublay,
ja, Erweiterung herunterladen und auf Deinen Server laden in system/modules/.
Herzliche Grüße
Petra
Wie genau bist du vorgegangen?
Und unter Einstellungen bei Inaktiven Erweiterungen wird es gelistet und ist nicht aktiviert?
---------------------------------
Beste Grüße planepix
Contao für Webdesigner (Website), Twitter: @contaowebdesign
weitzeldesign
Contao-Sprechstunde
Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
Contao Jahrbuch: www.contao-jahrbuch.de
Contao Agenturtag: www.contao-agenturtag.de
Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki
Schon wieder ein Update?
Glücklich sind die, die den Wert erkennen – und wertschätzen.
„Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen