Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 08. Februar 2015 21:56
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
[GELÖST] FormBuilder zu ListIt2
Hallo zusammen,
habe gerade einen kleinen Hänger bei der Übertragung von Formular-Daten in das ListIt-Modul. Grundsätzlich klappt hiermit (http://www.i-do-this.com/blog/FormBuild … xtended/57) alles - hab ich auch schon ein paar mal gemacht.
Jetzt gibt es allerdings den Spezialfall, dass ich zwei Formular-Felder in ein ListIt-Feld eintragen möchte (je nachdem, welches ausgefüllt ist). Das Problem ist dabei, dass die Übertragung mit Hilfe des Aliases läuft (sowohl beim FormBuilder als auch bei ListIt). In dem UDT werden die Felder per "foreach" abgearbeitet - dort müsste ich nun eingreifen - habe aber keine Ahnung , wie.
[== PHP ==]
$obj->title = $params['id'];
foreach($params as $key => $value) {
if(isset($obj->fielddefs[$key]))
$obj->$key = $value;
}
Ich habe z.B. diese Felder:
Dropdown mit dem Alias "auswahl"
Textfeld mit dem Alias "sonstiges"
Trifft bei dem Dropdown keine Option zu, wird das Textfeld ausgefüllt. Aber beide Ergebnisse sollen nun in ListIt in einem Feld landen. Im Zweifel auch einfach nur das Textfeld, sobald etwas drin steht.
Ich hoffe, es ist halbwegs verständlich - ist schon spät ...
Bin für jeden Hinweis dankbar.
Offline
#2 08. Februar 2015 22:32
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: [GELÖST] FormBuilder zu ListIt2
Ich habe den Code auf der i-do-this Seite nicht angeschaut, aber eigentlich ist das einfach zu lösen:
$key ist der Feldname des Formular und im ListIt. Du kannst hier nun eine weitere if Abfrage einbauen:
foreach($params as $key => $value) {
if(isset($obj->fielddefs[$key]) and $key = 'feldname')
$obj->feldname = $value;
else if(isset($obj->fielddefs['feldname']) and $key = 'feldname2')
$obj->feldname = $value;
else if(isset($obj->fielddefs[$key]))
$obj->$key = $value;
}
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#3 09. Februar 2015 11:22
- jeff1980
- Server-Pate
- Ort: Dortmund
- Registriert: 26. November 2010
- Beiträge: 630
Re: [GELÖST] FormBuilder zu ListIt2
Hallo nockenfell,
danke für Deine schnelle Antwort. Ich habe das mal so übernommen, aber leider ohne Erfolg. Nach Anpassung der Feldnamen werden gar keine Daten mehr in ListIt übermittelt.
Ich habe noch etwas mit den Abfragen experimentiert, aber es nicht hinbekommen.
Aber ich glaube, ich habe jetzt eine gute Lösung daraus gezogen - ich werde die speziellen Felder alle einzeln übernehmen. So kann ich gezielt auf die Besonderheiten zugreifen - heute kam nämlich noch eine neue Anforderung hinzu, die ich so noch besser abfangen kann. Ist also in dem Fall wesentlich flexibler als ein rein automatisierter Ansatz:
[== PHP ==]
foreach($params as $key => $value) {
if(isset($obj->fielddefs[$key]))
$obj->$key = $value;
}
$obj->feldname = $params['feldname'];
if ($params['feldname2'] != '')
$obj->feldname = $params['feldname2'];
Erst werden alle Felder abgearbeitet und automatisch befüllt. Die speziellen Felder werden danach noch mal mit der entsprechenden Abfrage überschrieben.
Offline
Seiten: 1