Bug? Your Account Erweiterung Dropdown Box

Begonnen von lemming, 05 Januar 2007, 15:40:00

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

lemming

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
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

jubilee

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 ?!

lemming

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.
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

jubilee

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

lemming

<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ß
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

jubilee

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

lemming

hat das jmd. anders schon bei sich bereinigt und könnte hier n beispiel posten bitte?

gruß
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

lemming

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!
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

exciting

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.