pragmaMx Support Forum

pragmaMx => integrierte Module => Thema gestartet von: lemming in 05 Januar 2007, 15:40:00

Titel: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: lemming in 05 Januar 2007, 15:40:00
Hi zusammen,
ist das jmd. schonmal aufgefallen, dass wenn man in der your account erweiterung zB: "Ich Suche" EINMAL etwas ausgewählt hat, es in der dropdown box dann kein leeres feld mehr gibt sondern das momentan ausgewählte doppelt?

gruß,
jörg
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: jubilee in 05 Januar 2007, 20:36:56
Hmmmm ....
Das bezieht sich jetzt aber doch nicht auf ein im Pragmamx mitgeliefertes Modul/Erweiterung, oder ?
Wüsste nicht, das es dort eine Dropdownbox "Ich suche" gibt ?!
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: lemming in 06 Januar 2007, 17:01:40
ja doch, die mx_userfunctions_options.sample.php ist doch mitgeliefert. die sorgt ja auch dafür dass man die erweiterten einstellungen hat. ist aber egal welche dropdownbox, es ist bei allen der selbe fehler. auch bei "Familienstand:" genau das selbe problem.
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: jubilee in 06 Januar 2007, 17:11:58
Ja, ein logischer fehler.
Es werden als Defaultfeld die vorigen Eingaben an erster Stelle angezeigt (dort wo sonst das Leerfeld war)
Das müsste  man anpassen, so das das Leerfeld erhalten bleibt und die vorige Auswahl nur selektiert wird.


MfG
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: lemming in 06 Januar 2007, 20:22:12
<option value=\"".((isset($pvs['user_famstatus'])) ? mxPrepareToDisplay($pvs['user_famstatus']) : "")."\">".((isset($pvs['user_famstatus'])) ? mxPrepareToDisplay($pvs['user_famstatus']) : "")."</option>

hier wird ja jedesmal das doppelte feld erzeugt. eigentlich müsste man dann doch nix anderes tun als das option tag zu entfernen, abfragen ob $pvs['user_famstatus'] gesetzt ist und wenn ja mxPreparteToDisplay(....)
find aber die function mxPrepareToDisplay nicht. was genau macht die?

sry aber komm mit der alternativen php schreibweise nicht ganz klar. habs so wie ichs oben beschrieben hab auch schon versucht aber kommt immer ein parse error.

könnten wir das zusammen lösen weil ich find das ist schon n gravierender fehler, wenn man zB. die suche nach einer "Frau" nicht mehr wegbekommt, obwohl man dann eine freundin hat :D da ist die suche nach nem "Mann" auch nicht wirklich ne alternative *kleiner joke*

mein ansatz war folgendes anstatt dem obigen:

if(isset($pvs['user_famstatus'])){
    mxPrepareToDisplay($pvs['user_famstatus']);
}


war mehr n test als ein ernster ansatz  :red:

gruß
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: jubilee in 07 Januar 2007, 09:47:28
Zitatfunction mxPrepareToDisplay nicht. was genau macht die?

Die bereitet die deten für die Anzeige auf.

Zitateigentlich müsste man dann doch nix anderes tun als das option tag zu entfernen

Nein, es müssen hier 2 Dingegemacht werden.
1. ein einfaches Leerfeld erstellen (das heben wir schon. Wir müssen nur darauf achten das wenn schon   
    etwas eingegeben wurde, dies nich überschrieben wird)
2. Wenn etwas eingegeben wurde das entspr. Options-Feld als Default vorauswählen
     so das dies "selected" ist.

Da sind noch einige Zeilen Code nötig und zwar bei allen
Select/Option Kombinationen wo der Fehler auftritt
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: lemming in 09 Januar 2007, 17:00:38
hat das jmd. anders schon bei sich bereinigt und könnte hier n beispiel posten bitte?

gruß
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: lemming in 11 Januar 2007, 20:35:11
habs wie folgt gelöst:

in mx_userfunctions_options.php

zeile 146:
#."<select name=\"user_famstatus\" size=\"1\">

ersetzen durch:
   ."".vkpFamstatusSelect("user_famstatus",(isset($pvs['user_famstatus'])) ? $pvs['user_famstatus'] : 0)."</td></tr>\n"

zeile 581:
mxPrepareToDisplay($user_famstatus)

ersetzen durch:
vkpGetFamstatusString($user_famstatus)


soweit mit der datei fertig. dann datei mx_userfunctions.php öffnen und folgende zwei func hinzufügen:

//####################################################################
function vkpFamstatusSelect($fieldname, $famstatus = 0, $hidenull = 0)
{
    $famstatus = (empty($famstatus)) ? 0 : (int)$famstatus;
    $out = "<select name='" . $fieldname . "' size='1'>\n";
    if (!$hidenull) {
        $out .= "<option value='0'" . (($famstatus == 0) ? " selected" : "") . ">" . _YA_FAMSTAT4 . "</option>\n";
    }
    $out .= "<option value='1'" . (($famstatus == 1) ? " selected" : "") . ">" . _YA_FAMSTAT1 . "</option>\n";
    $out .= "<option value='2'" . (($famstatus == 2) ? " selected" : "") . ">" . _YA_FAMSTAT2 . "</option>\n";
    $out .= "<option value='3'" . (($famstatus == 3) ? " selected" : "") . ">" . _YA_FAMSTAT3 . "</option>\n";
    $out .= "</select>\n";
    return $out;
}
// ################################################
function vkpGetFamstatusString($famstatus = 0)
{
    $sexus = (empty($famstatus)) ? 0 : (int)$famstatus;
    switch ($famstatus) {
        case 0: $out = _YA_FAMSTAT4;
            break;
        case 1: $out = _YA_FAMSTAT1;
            break;
        case 2: $out = _YA_FAMSTAT2;
            break;
        case 3: $out = _YA_FAMSTAT3;
            break;
    }
    return $out;
}


languagefile famstatus 1-4 sieht bei mir so aus:

define("_YA_FAMSTAT1","single");
define("_YA_FAMSTAT2","vergeben");
define("_YA_FAMSTAT3","verliebt");
define("_YA_FAMSTAT4","kein Interesse");


so und bei den restlichen dropdownboxen halt das selbe in grün!
Titel: Re: Bug? Your Account Erweiterung Dropdown Box
Beitrag von: exciting in 02 Juni 2007, 16:23:12
hmm ideal wär jetzt noch wenn das auch irgendwie in der modify user für den admin drin wäre.
weil da sind nur die normalen felder.