[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • ycom, yform User und Kategorie in DB speichern
Seite 1 von 1

ycom, yform User und Kategorie in DB speichern

Verfasst: 14. Jun 2017, 07:03
von elsethos
Hallo zusammen,

ich habe mir bereits die Finger wund gegoogelt und auch im Forum nichts passendes gefunden. Mein Problem:

Ich habe das Community Addon installiert und möchte folgendes realisieren. Der ngemeldete User soll Dateien in den Medienpool hochladen können. Das klappt auch. In einer im Tablemanager (YForm) angelegten Tabelle sollen zusätzlich der angemeldete User, die aktuelle Kategorie, die ID des Bildes, sowie das Datum gespeichert werden.

Das Formular sieht wie folgt aus:

Code: Alles auswählen

mediafile|file|Dateiupload|50000|.jpg,.png,.pdf,.xls,.txt,.doc,.docx,.xlsx|pflicht=1|Datei zu klein,Datei zu groß,falsches Dateiformat,Datei ist leer|[no_db]|4|upload
be_link|cat|Link zu Artikel|
article|article_id
generate_key|datum|Datum|[no_db][0]
ycom_user|user|user|Fieldlabel|hidden|[no_db]|showlabel
1. Problem: Die Medienpool Kategorie wird nicht in der angegebenen Tabelle gespeichert, obwohl im Table Manager im Feld mediafile die Mediakategorie ID eingetragen wurde.

2. be_link ??? keine Doku gefunden. Wie kann ich die aktuelle Kategorie oder den aktuellen Artikel speichern? Im frontend wird angezeigt "Kein Artikel vorhanden"

Code im Frontend:

Code: Alles auswählen

<input class="form-control" type="text" name="REX_LINK_NAME[1]" value="" id="REX_LINK_1_NAME" readonly="readonly">
<input type="hidden" name="FORM[formular][1]" id="REX_LINK_1" value="">
<span class="input-group-btn">
                        <a href="#" class="btn btn-popup" onclick="openLinkMap('REX_LINK_1', '&amp;clang=1');return false;" title="Link auswählen"><i class="rex-icon rex-icon-open-linkmap"></i></a>
                        <a href="#" class="btn btn-popup" onclick="deleteREXLink(1);return false;" title="Ausgewählten Link löschen"><i class="rex-icon rex-icon-delete-link"></i></a></span>
3. Wie speichere ich den aktuellen Benutzer? Beim absenden erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

Error while executing statement using params {"file":"logo_1.png","cat":"","datum":"8ae1f247c7279a5a7a83f0427faae7ad","user":null}! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user' cannot be null

ErrorCode - InsertQueryError

Re: ycom, yform User und Kategorie in DB speichern

Verfasst: 14. Jun 2017, 13:27
von elsethos
kann geschlossen werden. Habe es über php gelöst:

Code: Alles auswählen

 $ycom_user = rex_ycom_auth::getUser()->getValue('login');
    $catid=REX_ARTICLE_ID;
    $yform = new rex_yform();
    $yform->setObjectparams('form_action',rex_getUrl('REX_ARTICLE_ID'));
    $yform->setObjectparams('form_ytemplate', 'bootstrap');
    $yform->setObjectparams('form_showformafterupdate', 0);
    $yform->setObjectparams('getdata', FALSE);
    $yform->setObjectparams('main_table', 'rex_file_frontend');
    //$yform->setObjectparams('main_where', 'id=5');
    //$yform->setObjectparams('real_field_names', true);


    $yform->setValueField('mediafile', array("file","Datei","50000",".jpg,.png,.pdf,.xls,.txt,.doc,.docx,.xlsx","1","Datei zu klein,Datei zu groß,falsches Dateiformat,Datei ist leer","rex_file_frontend","4","upload/upload"));  

    $yform->setValueField('select', array("select","Select","schlecht=-1,ok=0,gut=1","","0","0"));
    $yform->setValueField('hidden', array('user',$ycom_user));
    $yform->setValueField('hidden', array('datum',date('Y-m-d H:i:s')));
    $yform->setActionField('db', array("rex_file_frontend"));
    $yform->setActionField('html', array('<div class="alert alert-success">Daten wurden gespeichert.</div><a class="btn btn-primary" href="'.rex_getUrl('REX_ARTICLE_ID').'">weitere Datei hochladen.</a>'));


    echo $yform->getForm();