Contao-Camp 2024
Ergebnis 1 bis 10 von 10

Thema: Datei-Upload "Invalid upload folder ID" / Upload per Mail senden

  1. #1
    Contao-Nutzer
    Registriert seit
    04.04.2012.
    Beiträge
    143

    Standard Datei-Upload "Invalid upload folder ID" / Upload per Mail senden

    Hallo zusammen,

    ich habe ein kleines Problem mit dem Datei-Upload. Sofern ich die Datei speichern möchte erhalte ich auf der Bestätigungsseite folgenden Fehler:

    HTML-Code:
    [15-Mar-2017 09:25:11 Europe/Berlin] PHP Fatal error: Uncaught exception 'UnderflowException' with message 'Invalid upload folder ID ' thrown in /httpdocs/system/modules/isotope/library/Isotope/EventListener/PostCheckoutUploads.php on line 100
    #0 httpdocs/system/modules/isotope/library/Isotope/EventListener/PostCheckoutUploads.php(45): Isotope\EventListener\PostCheckoutUploads->getSources(Object(Isotope\Model\Attribute\Upload), 'isotope/uploads...')
    #1 httpdocs/system/modules/isotope/library/Isotope/Model/ProductCollection/Order.php(224): Isotope\EventListener\PostCheckoutUploads->onPostCheckout(Object(Isotope\Model\ProductCollection\Order), Array)
    #2 /httpdocs/system/modules/isotope/library/Isotope/Model/Payment/Cash.php(38): Isotope\Model\ProductCollection\Order->checkout()
    #3 httpdocs/system/modules/isotope/library/Isotope/Module/Checkout.php(165): Isotope\Model\Payment\Cash->processPayment(Object(Isotope\Model\ProductCollection\Order), Object(Isotope\Module\Checkout))
    #4 httpdocs/system/modules/core/modules/Module.php(287): Isotope\Module\Checkout->compile()
    #5 httpdocs/system/modules/haste/library/Haste/Frontend/AbstractFrontendModule.php(52): Contao\Module->generate()
    #6 httpdocs/system/modules/isotope/library/Isotope/Module/Module.php(111): Haste\Frontend\AbstractFrontendModule->generate()
    #7 httpdocs/system/modules/isotope/library/Isotope/Module/Checkout.php(109): Isotope\Module\Module->generate()
    #8 httpdocs/system/modules/core/elements/ContentModule.php(59): Isotope\Module\Checkout->generate()
    #9 httpdocs/system/modules/core/library/Contao/Controller.php(484): Contao\ContentModule->generate()
    #10 httpdocs/system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
    #11 httpdocs/system/modules/core/modules/Module.php(287): Contao\ModuleArticle->compile()
    #12 httpdocs/system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #13 httpdocs/system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
    #14 httpdocs/system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
    #15 httpdocs/system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #16 httpdocs/system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #17 httpdocs/index.php(20): Contao\FrontendIndex->run()
    #18 {main}
    Die Einstellungen des Attributs habe ich angehangen. Ebenfalls Ordner "orders" manuell angelegt.

    Zudem würde ich gerne das hochgeladene File zusätzlich an die Bestätigungsmail anhängen - ist das ohne weiteres möglich?

    Vielen Dank im voraus.

    LG
    Angehängte Grafiken Angehängte Grafiken
    Geändert von timmey123 (25.05.2018 um 15:19 Uhr)

  2. #2
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard

    Ich habe im Moment die gleichen Fragen.

    Bei mir erscheint bei Absenden/Bestätigen der Bestellung ebenfalls eine Fehlermeldung. Mein Ziel-Ordner ist vorhanden und der Pfad im Attribut eingetragen. Mache ich einen Überlegungsfehler?
    Ebenso wäre ich am Anhang an das Mail interessiert

    Contao: 3.5.18
    Isotope: 2.4.1

    Liebe Grüsse
    Eva

    HTML-Code:
    Fatal error: Uncaught exception UnderflowException with message Invalid upload folder ID thrown in system/modules/isotope/library/Isotope/EventListener/PostCheckoutUploads.php on line 100
    #0 system/modules/isotope/library/Isotope/EventListener/PostCheckoutUploads.php(45): Isotope\EventListener\PostCheckoutUploads->getSources(Object(Isotope\Model\Attribute\Upload), 'isotope/uploads...')
    #1 system/modules/isotope/library/Isotope/Model/ProductCollection/Order.php(224): Isotope\EventListener\PostCheckoutUploads->onPostCheckout(Object(Isotope\Model\ProductCollection\Order), Array)
    #2 system/modules/isotope/library/Isotope/Model/Payment/Cash.php(38): Isotope\Model\ProductCollection\Order->checkout()
    #3 system/modules/isotope/library/Isotope/Module/Checkout.php(165): Isotope\Model\Payment\Cash->processPayment(Object(Isotope\Model\ProductCollection\Order), Object(Isotope\Module\Checkout))
    #4 system/modules/core/modules/Module.php(287): Isotope\Module\Checkout->compile()
    #5 system/modules/haste/library/Haste/Frontend/AbstractFrontendModule.php(52): Contao\Module->generate()
    #6 system/modules/isotope/library/Isotope/Module/Module.php(111): Haste\Frontend\AbstractFrontendModule->generate()
    #7 system/modules/isotope/library/Isotope/Module/Checkout.php(109): Isotope\Module\Module->generate()
    #8 system/modules/core/elements/ContentModule.php(59): Isotope\Module\Checkout->generate()
    #9 system/modules/core/library/Contao/Controller.php(484): Contao\ContentModule->generate()
    #10 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
    #11 system/modules/core/modules/Module.php(287): Contao\ModuleArticle->compile()
    #12 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #13 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
    #14 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), true, false, 'main')
    #15 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #16 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #17 index.php(20): Contao\FrontendIndex->run()
    #18 {main}
    Bildschirmfoto 2017-03-22 um 09.59.06.png
    Geändert von Eva (22.03.2017 um 09:59 Uhr)

  3. #3
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard

    Noch ein Nachtrag:
    Um den Datei-Upload im Template einzubinden, funktioniert bei mir dies nicht:
    PHP-Code:
    <?php echo $this->generateAttribute('produkt_datei_upload'); ?>
    Ich muss den Upload so einbinden, damit er sichtbar wird:
    PHP-Code:
    <?php echo $this->options['produkt_datei_upload']['html']; ?>
    Wenn ich dann eine Datei auswähle, schafft es der Browser nicht, das ok für den Warenkorb anzuzeigen. Erst nach einem Reload der Seite und nochmaligen drücken des Button *in den Warenkorb* funktioniert es. Ohne Datei-Upload funktioniert das Anzeigen des OK's *das gewählte Produkt wurde in den Warenkorb gelegt?* beim ersten Mal.

  4. #4
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard

    Hat wirklich niemand eine Idee, wo der Fehler sein kann? Auch mit der Standard-Einstellung
    PHP-Code:
    files/orders/##document_number##/##product_position##__{{flag::##product_name##|standardize}}/##attribute_field## 
    funktioniert es nicht.

  5. #5
    Contao-Nutzer
    Registriert seit
    04.04.2012.
    Beiträge
    143

    Standard

    Ich bin leider nach wie vor auch noch keinen Schritt weiter und wäre für jeden Tipp dankbar

  6. #6
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard

    Hat hier niemand das Problem ausser Timmey123 und mir?
    Kann evt jemand, der den Upload benutzt, genau angeben, was genau bei ihm/ihr im Pfad steht, damit es funktioniert? Evt lässt sich ja so der Fehler bei uns finden.

    Oder nutzt die Upload-Funktion niemand hier?
    Hat sie evt in einer früheren Version funktioniert und nun aber mit der neusten Version nicht mehr?

  7. #7
    Contao-Nutzer
    Registriert seit
    16.06.2010.
    Beiträge
    26

    Standard

    Zitat Zitat von Eva Beitrag anzeigen
    Hat hier niemand das Problem ausser Timmey123 und mir?
    Kann evt jemand, der den Upload benutzt, genau angeben, was genau bei ihm/ihr im Pfad steht, damit es funktioniert? Evt lässt sich ja so der Fehler bei uns finden.

    Oder nutzt die Upload-Funktion niemand hier?
    Hat sie evt in einer früheren Version funktioniert und nun aber mit der neusten Version nicht mehr?
    Ich fand das Problem interessant und habs mal nachgebaut. Den Fehler habe ich auch. In einer früheren Version hat es wohl geklappt und jetzt geht es nicht mehr. Bei einem Upgrade von einer früheren Version ist das Feld UploadFolder gesetzt und deswegen gibt es die Exception nicht. Allerdings hatten bei mir die Zieldateien 0 Bytes.

    Bei einem neu angelegten Fineuploader Feld kann man den UploadFolder nicht mehr angeben und deshalb die Exception.

    Ein schneller Hack, falls man nur 1 Bild uploaden will, ist es in der Datei composer/vendor/isotope/isotope-core/syste~es/isotope/library/Isotope/EventListener/PostCheckoutUploads.php in der Funktion onPostCheckout die Zeile
    $sources = $this->getSources($attribute, $config['value']);
    durch
    $sources = array($config['value']);
    auszutauschen.

    Ich werd mal nen Bugreport öffnen.

  8. #8
    Contao-Nutzer Avatar von Eva
    Registriert seit
    03.07.2013.
    Beiträge
    149

    Standard

    Lieber Netdrag

    Vielen Dank für den Hack und dass Du Dir die Zeit genommen hast, das Problem nachzubauen!
    Ich habe die Zeile bei mir soeben geändert und nun funktioniert der Upload ohne Fehlermeldung in den richtigen Ordner.
    Ich bin sehr froh, dass ich nun am Projekt weiterarbeiten kann und hoffe, dass der Bug mit einem Update gefixt wird.

    Danke!
    Eva

  9. #9
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Unter Contao 4.7.6 mit Isotope 2.5.13 habe ich ebenfalls das Problem, dass die über das Attribut Dateiupload hochgeladene Datei zwar im Ordner
    Code:
    /isotope/uploads/
    landet jedoch nicht in dem im Attribut angegebenen Zielverzeichnis. Das sieht bei mir so aus:
    Code:
    files/uploads/mein-ordner/##order_id##/
    als Zieldateiname habe ich
    Code:
    ##file_target##
    eingetragen. Was mache ich falsch?

    Die von @netdrag genannte Datei PostCheckoutUploads.php habe ich auf Github gefunden, nicht aber die von ihm genannte Stelle wo der Code ersetzt werden soll. Danke für Tipps und Hinweise.
    Geändert von 3dr (06.06.2019 um 16:03 Uhr)

  10. #10
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Der Fehler sollte in der 2.5.14 behoben sein.
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •