Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 40 von 43

Thema: Alias erzeugen

  1. #1
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard Alias erzeugen

    hallo in die runde,

    ist es möglich, per skript oder erweiterung, den alias in einem MM zu setzen
    oder auch ein kombiniertes feld? in dem fall, wo ein MM von einem formular
    gefüllt wird, fehlen mir diese werte. codebeispiele für die api habe ich leider auch nciht gefunden.

    vielen dank für eine info.

    alex

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    m.E. muss das nicht weiter behandelt werden und wird bei "$objItem->save();" automatisch mit abgehandelt...

    https://community.contao.org/de/show...ichtig-erzeugt

    die Unique-Sache sollte inzwischen gefixt sein..

    API z.B. https://github.com/MetaModels/core/b....php#L304-L312

  3. #3
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    danke für die info zonky.

    so recht versteh ich das noch nicht…

    ich fülle ein MM mit einem formular aus dem FE.

    mittels hook klinke ich mich in die verarbeitung des formulars ein
    und setze dann wie und wo mit: "$objItem->save(); " ein?

    da das MM gerade erst befüllt wurde, muss ich auch irgendwo ne ID herausbekommen oder
    denke ich zu kompliziert?

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    * FE-Formular ausgefüllt und abgesendet
    * Hook klinkt sich in die Verarbeitung ein
    * hier wird MM per API befüllt; mit dem Save des Items wird der Alias automatisch erzeugt


    ... soweit zur Theorie

  5. #5
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    dann kann ich also nicht auf das speichern der formulardaten setzen,
    sondern verarbeite alle daten mittels des hooks...

    gibt es für das setzen eines wertes in ein mm-feld, ein beispiel?

    lg.

    alex

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    ich würde sagen, Deine "normalen Daten" kannst Du auch irgendwie in die DB schaufeln - aber am Ende muss per MM-API ein Item->save() erfolgen z.B. per Event oder Hook

  7. #7
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    mir ist nur noch nicht klar wie das item->save() greifen soll, da der eigentliche
    datensatz vom befüllen des formulares angelegt wird... oder sehe ich das falsch?

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Hier im Forum gibt es ein, zwei Threads zum Thema (CSV)Import - da findest Du sicher was... Statt der CSV wären es bei Dir die Formulardaten

  9. #9
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    danke dir, zonky.

    dieser thread hier, ist schon mal sehr gut:
    https://community.contao.org/de/show...ore-Funktionen

    laut dem thread, sieht mein kleine erweiterung (hook basierend auf processFormData) nun so aus:

    PHP-Code:
    $userId = ($arrData['user']);
    $vorname = ($arrData['vorname']);

    $container $GLOBALS['container']['metamodels-service-container'];
    $factory $container->getFactory();

    $MMObject $factory->byTableName('mm_metamodel'); 
                
    // Neues Item Objekt erstellen 
    $ObjItem = new \MetaModels\Item($MMObject, array()); 

    $ObjItem->set('user'$user);
    $ObjItem->set('vorname'$vorname);

    // Speichern
    $ObjItem->save(); 
    funktioniert auch, aber, 2 probleme:
    1. alias wird nach wie vor nicht erstellt

    2. "user" ist ein select-feld greift auf die mitglieder-table zu schreibt die ID ins MM. hier bekomme ich eine fehlermeldung:

    Code:
    Deprecated notice: MetaModels\Factory::byTableName is deprecated and will get removed. Use method MetaModels\Factory::getMetaModel() instead. in system/modules/metamodels/classes/src/MetaModels/Factory.php on line 188
    #0 [internal function]: __error(16384, 'MetaModels\\Fact...', '/var/virtual/ha...', 188, Array)
    #1 system/modules/metamodels/classes/src/MetaModels/Factory.php(188): trigger_error('MetaModels\\Fact...', 16384)
    #2 system/modules/hfoxProcessFormData/hfoxProcessFormData.php(82): MetaModels\Factory::byTableName('mm_rezepte')
    #3 system/modules/core/forms/Form.php(544): hfoxProcessFormData->hfoxProcess(Array, Array, Array, Array, Object(Contao\Form))
    #4 system/modules/core/forms/Form.php(255): Contao\Form->processFormData(Array, Array, Array)
    #5 system/modules/core/classes/Hybrid.php(239): Contao\Form->compile()
    #6 system/modules/core/forms/Form.php(90): Contao\Hybrid->generate()
    #7 system/modules/core/library/Contao/Controller.php(484): Contao\Form->generate()
    #8 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
    #9 system/modules/tags/modules/ModuleArticle.php(26): Contao\ModuleArticle->compile()
    #10 system/modules/core/modules/Module.php(287): Aurealis\ModuleArticle->compile()
    #11 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #12 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
    #13 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
    #14 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #15 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #16 index.php(20): Contao\FrontendIndex->run()
    #17 {main}
    
    Warning: Illegal string offset 'id' in system/modules/metamodelsattribute_select/classes/src/MetaModels/Attribute/Select/Select.php on line 325
    #0 system/modules/metamodelsattribute_select/classes/src/MetaModels/Attribute/Select/Select.php(325): __error(2, 'Illegal string ...', '/var/virtual/ha...', 325, Array)
    #1 system/modules/metamodels/classes/src/MetaModels/MetaModel.php(906): MetaModels\Attribute\Select\Select->setDataFor(Array)
    #2 system/modules/metamodels/classes/src/MetaModels/MetaModel.php(944): MetaModels\MetaModel->saveAttribute(Object(MetaModels\Attribute\Select\Select), Array, '30', NULL)
    #3 system/modules/metamodels/classes/src/MetaModels/MetaModel.php(1026): MetaModels\MetaModel->updateVariants(Object(MetaModels\Item), NULL, Array, true)
    #4 system/modules/metamodels/classes/src/MetaModels/Item.php(323): MetaModels\MetaModel->saveItem(Object(MetaModels\Item))
    #5 system/modules/hfoxProcessFormData/hfoxProcessFormData.php(107): MetaModels\Item->save()
    #6 system/modules/core/forms/Form.php(544): hfoxProcessFormData->hfoxProcess(Array, Array, Array, Array, Object(Contao\Form))
    #7 system/modules/core/forms/Form.php(255): Contao\Form->processFormData(Array, Array, Array)
    #8 system/modules/core/classes/Hybrid.php(239): Contao\Form->compile()
    #9 system/modules/core/forms/Form.php(90): Contao\Hybrid->generate()
    #10 system/modules/core/library/Contao/Controller.php(484): Contao\Form->generate()
    #11 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
    #12 system/modules/tags/modules/ModuleArticle.php(26): Contao\ModuleArticle->compile()
    #13 system/modules/core/modules/Module.php(287): Aurealis\ModuleArticle->compile()
    #14 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #15 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
    #16 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
    #17 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #18 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #19 index.php(20): Contao\FrontendIndex->run()
    #20 {main}
    hast du ne idee, zonky?

  10. #10
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    zu 1.) keine Ahnung - das das so funktioniert war/ist nur eine "Vermutung"... ggf. Ticket schreiben

    zu 2.) steht doch in der API: http://metamodels.readthedocs.io/de/...tory-interface byTableName wird "abgeschaltet"

  11. #11
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    also ist das hier der ersatz, um ein objekt zu erstellen:
    PHP-Code:
    $MMObject = \MetaModels\Factory::getMetaModel($strMetaModelName); 
    die variable wird dann mit dem namen des MM bestückt.

    diese variante erzeugt dann einen fatal-error:

    Code:
    Fatal error: Call to undefined method hfoxProcessFormData::getEventDispatcher() in /var/**/**/**/**/system/modules/metamodels/classes/src/MetaModels/Factory.php on line 107
    das TNG der MM ist von gestern… also aktuell...

  12. #12
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    aktuell sieht es so aus:

    PHP-Code:
    /** @var \MetaModels\IMetaModelsServiceContainer $container */
    $container $GLOBALS['container']['metamodels-service-container'];
    $factory $container->getFactory();

    //$strMetaModelName = $factory->translateIdToMetaModelName($TableId);
    $objMetaModel $factory->getMetaModel('mm_metamodel');

    // Neues Item Objekt erstellen
    $ObjItem = new \MetaModels\Item($objMetaModel, array()); 

    // Befüllen mit Attribut text
    $ObjItem->set('user'$this->Member->id);
    $ObjItem->set('vorname'$vorname);

    $ObjItem->save(); 
    funtkioniert auch ohne fehlermeldung.

    1. problem: alias wird nicht gesetzt
    2. problem: von der user-id '30' wird nur eine 3 ins MM geschrieben.

  13. #13
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    wenn der alias vorher befüllt wird,
    wird dann beim speichern der wert gesetzt… wieder was gelernt

    PHP-Code:
    $ObjItem->set('alias''temp'); 
    nach dem speichern steht dann wirklich nicht mehr "temp" drin, sonder der wert, welcher
    im MM eingestellt ist, also zb. der name/etc…

    noch eine frage. wie verhält sich das setzen von tags? diese laufen ja in einer anderen table?

  14. #14
    Contao-Nutzer Avatar von chibineko
    Registriert seit
    02.06.2011.
    Beiträge
    120
    Partner-ID
    6306

    Standard widgetToValue

    Du musst aufpassen welche Daten du dem Item gibst. Ein MetaModel Item ist keine 1 zu 1 Kopie der Datenbank. Es gibt Attribute die noch MetaDaten und Datenstrukturen brauchen um die Daten zu speichern. Hier hilft es wenn du die Daten durch die "widgetToValue"-Funktion verarbeiten lässt. Also so "$objAttribute->widgetToValue($arrValues, null);". Das ist die Funktion, welche die Daten von den Contao-Widget annimmt und für ein MetaModels Item umwandelt. Damit sollten dann auch die richtigen Daten in die Datenbank kommen. Du musst hier nur aufpassen. Ab und an wird nicht die ID des Datensatz benutzt sondern das Aliasfled, welches du im Attribute konfiguriert hast.

    Das Attribute Object kannst du dir von der MetaModels Klasse holen.
    Don't assume anything is possible or impossible until you've asked the people who will be doing the work. (Picard management tip)

  15. #15
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    danke dir für die info…

    wo setze ich nun mit dem code an:
    PHP-Code:
    $objAttribute->widgetToValue($arrValuesnull); 
    hier noch mal meine variante:
    PHP-Code:
    $ObjItem->set('user'$userId); 
    ist $objAttribute gleichzusetzen mit $ObjItem ?

    was bedeutet die null? $arrValues ist der wert?

  16. #16
    Contao-Nutzer Avatar von chibineko
    Registriert seit
    02.06.2011.
    Beiträge
    120
    Partner-ID
    6306

    Standard

    So müsste es aussehen. Ich habe es nicht getestet. Lass dir dann einmal die "$userValue" und die "$vornameValue" ausgeben. Dann solltest du schon sehen können ob es geht.

    PHP-Code:
    /** @var \MetaModels\IMetaModelsServiceContainer $container */
    $container $GLOBALS['container']['metamodels-service-container'];
    $factory $container->getFactory();

    //$strMetaModelName = $factory->translateIdToMetaModelName($TableId); 
    $objMetaModel $factory->getMetaModel('mm_metamodel');

    // Neues Item Objekt erstellen 
    $ObjItem = new \MetaModels\Item($objMetaModel, array());

    /*
     * widgetToValue:
     *     Convert a value obtained from a widget to a native value of this attribute.
     *    
     *     This is used for transferring a value that has been retrieved from a widget into native attribute
     *     value.
     *    
     *     @param mixed  $varValue The value to be transformed.
     *    
     *     @param string $itemId   The id of the item the value belongs to.
     *    
     *     @return mixed The resulting native value
     */
    $userAttribute $objMetaModel->getAttribute('user');
    $userValue $userAttribute->widgetToValue($this->Member->idnull);

    $vornameAttribute $objMetaModel->getAttribute('vorname');
    $vornameValue $vornameAttribute->widgetToValue($vornamenull);

    // Befüllen mit Attribut text 
    $ObjItem->set('user'$userValue);
    $ObjItem->set('vorname'$vornameValue);

    $ObjItem->save(); 
    Don't assume anything is possible or impossible until you've asked the people who will be doing the work. (Picard management tip)

  17. #17
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von haendersonfox Beitrag anzeigen
    wenn der alias vorher befüllt wird,
    wird dann beim speichern der wert gesetzt
    hast Du in den Einstellungen vom Alias eingestellt "immer überschreiben" (setzt alwaysSave)?

  18. #18
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    hast Du in den Einstellungen vom Alias eingestellt "immer überschreiben" (setzt alwaysSave)?
    ja. habe ich.

  19. #19
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    Zitat Zitat von chibineko Beitrag anzeigen
    PHP-Code:
    $userAttribute $objMetaModel->getAttribute('user');
    $userValue $userAttribute->widgetToValue($this->Member->idnull);

    $vornameAttribute $objMetaModel->getAttribute('vorname');
    $vornameValue $vornameAttribute->widgetToValue($vornamenull);

    // Befüllen mit Attribut text 
    $ObjItem->set('user'$userValue);
    $ObjItem->set('vorname'$vornameValue);

    $ObjItem->save(); 
    SUPER. das funktioniert schon mal mit der '30'

    nun habe ich noch ein tag-feld (kategorie), welche ich so befüllen wollte:

    PHP-Code:

    $kategorieAttribute 
    $objMetaModel->getAttribute('kategorie');
    $kategorieValue $kategorieAttribute->widgetToValue($kategorienull);

    $ObjItem->set('kategorie', array('value_id' => $kategorieValue)) 
    leider kommt in der tl_metamodel_tag_relation nur eine 0 an ;-(

    die ursprungsvariable $kategorie enthält aber eine 16

  20. #20
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    kannst Du vor Zeile #94 eine Debuginfo einbauen, ob die Methode beim Speichern aufgerufen wird
    https://github.com/MetaModels/attrib.../Alias.php#L94

  21. #21
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    kannst Du vor Zeile #94 eine Debuginfo einbauen, ob die Methode beim Speichern aufgerufen wird
    https://github.com/MetaModels/attrib.../Alias.php#L94
    also direkt in die alias.php?
    wie sieht der code für eine debug-info aus?

  22. #22
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    echo "\n<br>Moin!<br>\n"; die(); 

  23. #23
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    moin erscheint nur, wenn ich diese zeile drin habe:

    PHP-Code:
    $ObjItem->set('alias''temp'); 
    ohne diese zeile läuft die formularübertragung ganz normal durch - ohne "moin"…

    attribut-config:
    [x] Eindeutige Werte
    [x] Neuerstellung des Alias erzwingen.

  24. #24
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    o.k. - müsste sich xtra oder chibineko auslassen, ob das so "gewollt" ist/war... m.E. sollte die Methode immer mit ab gefrühstückt werden - eine Prüfung auf force_alias wird ja gemacht https://github.com/MetaModels/attrib.../Alias.php#L95

  25. #25
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    bleibt eigentlich nur noch die frage, wie ich ein tag-feld mit werten bestücke…

    hat hier jemand eine idee?

  26. #26
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    gerade mit xtra gesprochen... ein

    PHP-Code:
    $ObjItem->set('alias''irgendwas'); 
    ist schon der richtige Weg bzw. würde bei Dir auch

    PHP-Code:
    $ObjItem->set('alias'''); 
    gehen, da der Alias eh noch leer ist...

  27. #27
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    okay. danke dir zonky. so habe ich es auch im code drin,
    dann funktioniert es…

    kann er auch was zum befüllen eines tag-feldes sagen?

    lg.

    alex

  28. #28
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von haendersonfox Beitrag anzeigen
    kann er auch was zum befüllen eines tag-feldes sagen?
    bestimmt, frag ihn...

  29. #29
    Contao-Nutzer Avatar von chibineko
    Registriert seit
    02.06.2011.
    Beiträge
    120
    Partner-ID
    6306

    Standard

    Tags sind eine Mehrfachauswahl versuch mal einen array zu übergeben, es kann hier aber sein das du den Alias vom Wert benutzten musst. Beim Select ist es die ID.
    Don't assume anything is possible or impossible until you've asked the people who will be doing the work. (Picard management tip)

  30. #30
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    Zitat Zitat von chibineko Beitrag anzeigen
    Tags sind eine Mehrfachauswahl versuch mal einen array zu übergeben, es kann hier aber sein das du den Alias vom Wert benutzten musst. Beim Select ist es die ID.
    aktuell sieht mein code so aus:

    PHP-Code:
    $kategorieAttribute $objMetaModel->getAttribute('sorte'); 
    $kategorieValue $kategorieAttribute->widgetToValue($kategorienull);

    $ObjItem->set('sorte', array('value_id' => $kategorieValue)); 
    er legt auch einen datensatz in tl_metamodel_tag_relation an, allerdings nur mit einer 0 - nicht mit einer 16.

    ich habe auch den alias der sorte auf 16 geändert, klappt auch nicht.

  31. #31
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    mit dem code:

    PHP-Code:
    $ObjItem->set('sorte', array(5,5,5,5,5)); 
    werden 5 datensätze erstellt. der erste hat eine 0 dann wird hochgezählt: 1, 2, 3, 4

    die werte stehen auch in value_id

    hmmm.

  32. #32
    Contao-Nutzer Avatar von chibineko
    Registriert seit
    02.06.2011.
    Beiträge
    120
    Partner-ID
    6306

    Standard

    Versuch es bitte einmal so. Wie gesagt benutz den Alias vom Wert nicht die ID. Die Tags Arbeiten nicht mit ID sondern mit dem Alias Feld der Referenztabelle.

    PHP-Code:
    $kategorie = array(
        
    'aliasWert1',
        
    'aliasWert2',
        
    'aliasWert3'
    );
    $kategorieAttribute $objMetaModel->getAttribute('sorte');  
    $kategorieValue $kategorieAttribute->widgetToValue($kategorienull); 

    $ObjItem->set('sorte'$kategorieValue); 
    Don't assume anything is possible or impossible until you've asked the people who will be doing the work. (Picard management tip)

  33. #33
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    bingo… vielen lieben dank.

    so klappt es...

  34. #34
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    hallo,

    ich brauch doch noch mal euer wissen…

    und zwar habe ich nun auch eine datei im formular und da ärgert mich das MM, da es die daten nicht haben mag…

    es ist im MM ein dateiauswahlfeld, in meiner kleinen erweiterung hole ich mir die daten aus dem abgesendeten formular,
    und erstelle daraus ein serialisiertes array…

    leider bekomme ich folgende fehlermeldung:

    auch verstehe ich nicht, warum die uuid der datei nicht anders aussieht und so viele rauten hat!?

    Code:
    Fatal error: Uncaught exception InvalidArgumentException with message Invalid resource a:1:{i:0;s:16:"???????+<[R";} thrown in system/modules/core/library/Contao/Dbafs.php on line 63
    hat jemand eine idee?

    lg.
    alex

  35. #35
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    ich kann nur vermuten was du machst...

    ... ggf. helfen dir die folgenden Fragen weiter:

    1.) was und wie speichert MM Dateien im File-Attribut (Datei speichern und in DB nachsehen)
    2.) was kommt bei Deinem Formular an (Debugen)
    3.) passen 1. und 2. zusammen

  36. #36
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    hallo zonky,

    die daten hänge ich dir gleich via screenshot dran, ich gehe davon aus, dass die codierung nicht hinhaut…

    die fragezeichen erscheinen sowohl in der uuid, welche vom formular gesendet wird ($arrFiles),
    als auch, wenn ich via datenbankabfrage auf tl_files die uuid auslesen lasse… daher kommt meine vermutung,
    dass die zeichen nicht korrekt sind!?

    Bildschirmfoto 2017-03-27 um 09.58.40.png

  37. #37
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von haendersonfox Beitrag anzeigen
    uuid, welche vom formular gesendet wird
    welches Formular "sendet" Dir eine UUID? - die UUID kommt (erst) aus der DB bzw. vom DBFS von Contao

  38. #38
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    schau mal den screen an, zonky…

    Bildschirmfoto 2017-03-27 um 10.47.30.png

    code hierfür lautet:

    PHP-Code:
    //uuid aus arrData:
    echo 'uuid aus arrData: <br />';
    dump($arrData['rezept_pdf']);
                
    //uuid aus tl_files holen
    ($pdfFile $database->prepare('SELECT * FROM tl_files WHERE path=?')->execute($downloadlink));
                            
    echo 
    '<br />uuid aus tl_files: <br />';
    echo 
    $pdfFile->uuid

  39. #39
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    in welcher Datei bist Du hier und wo kommt $arrData her

  40. #40
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.029

    Standard

    arrData kommt aus dem meiner erweiterung / hook -> processFormData

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
  •