forum.coppermine-gallery.net

Support => Deutsch (German) => Language Specific Support => cpg1.5.x Deutsch (German) => Topic started by: Domiki86 on June 02, 2016, 08:31:19 pm

Title: Input "Text" gegen Select tauschen
Post by: Domiki86 on June 02, 2016, 08:31:19 pm
Moin zusammen,

nachdem ich so tolle Hilfe bei den Benutzerdefinierte Felder bekommen habe brauche ich wieder mal bisschen Hilfe.

Ich würde gerne "user2" und "user5" eine Auswahlliste (select) anstatt Input (text) Felder haben.
Ist dies möglich oder ist das zuviel aufwand? Ich kann die Felder zumindest in der edit_one_pic.php austauschen aber es scheitert an der Weitergabe der Inhalte.
Welche Daten müssen noch alle bearbeitet werden damit die dann auch gleich in der upload.php zu Vorschein kommen?

Ich hoffe mir kann wieder mal jemand helfen.

Vielen Dank

Dominik
Title: Re: Input "Text" gegen Select tauschen
Post by: Αndré on June 07, 2016, 10:21:47 am
Ich kann die Felder zumindest in der edit_one_pic.php austauschen aber es scheitert an der Weitergabe der Inhalte.

Hat das Feld denn den richtigen Namen? Beispiel:
Open edit_one_pic.php, find
Code: [Select]
if ($CONFIG['user_field1_name'] != '') {

    echo <<< EOT

    <tr>
        <td class="tableb" style="white-space: nowrap;">
            {$CONFIG['user_field1_name']}
        </td>
        <td width="100%" class="tableb" valign="top">
            <input type="text" style="width: 100%" name="user1" maxlength="255" value="{$CURRENT_PIC['user1']}" class="textinput" />
        </td>
    </tr>
EOT;
}
and replace with
Code: [Select]
if ($CONFIG['user_field1_name'] != '') {

    $options_array = array('', 'TABOR ELEKTRYCZNY', 'TABOR SPALINOWY', 'TABOR PAROWY');
    foreach ($options_array as $option) {
        $selected = $CURRENT_PIC['user1'] == $option ? ' selected' : '';
        $options .= "<option{$selected}>{$option}</option>";
    }

    echo <<< EOT

    <tr>
        <td class="tableb" style="white-space: nowrap;">
            {$CONFIG['user_field1_name']}
        </td>
        <td width="100%" class="tableb" valign="top">
            <select name="user1" maxlength="255" class="listbox">{$options}</select>
        </td>
    </tr>
EOT;
}
Title: Re: Input "Text" gegen Select tauschen
Post by: Domiki86 on June 07, 2016, 01:10:29 pm
Moin Αndré,

vielen Dank für deine Hilfe.

Ich hatte einen ganz anderen Ansatz als du. Ich wollte den Type text komplett gegen Select tauschen und da lag wohl der Fehler.

Jetzt muss ich nur noch wissen wo ich das in der upload.php ändern muss. Ich habe die letzten Tage immer wieder gesucht aber ich finde die Input Felder nicht. Sind die überhaupt im der upload.php oder werden die in einer anderen Datei erzeugt?

Vielen Dank für deinen tollen Support.

Gruß
Title: Re: Input "Text" gegen Select tauschen
Post by: Αndré on June 07, 2016, 01:23:53 pm
Reden wir hier von den Feldern beim Einzelupload, oder vom Formular, welches nach dem Hochladen mit dem Flash-Uploader erscheint (editpics.php)?
Title: Re: Input "Text" gegen Select tauschen
Post by: Domiki86 on June 07, 2016, 01:27:24 pm
Wir reden von den Feldern im Einzelupload.

Title: Re: Input "Text" gegen Select tauschen
Post by: Αndré on June 07, 2016, 02:50:18 pm
Ich hab es mir gerade mal angesehen und bin mir sicher, dass es dafür im Forum bereits Lösungen geben sollte, finde diese aber gerade nicht.

Das Formular wird in der Datei upload.php über die Funktion "create_form_simple" erstellt. Da es bisher keine Funktion gibt um Auswahllisten zu erstellen, müssen wir das noch vorbereiten. Als Vorlage kann uns dabei die Funktion "form_alb_list_box" dienen. Innerhalb der Funktion "create_form_simple" müssen wir dann einen "case 5" und "case 6" einfügen, der entsprechend jeweils deine Auswahllisten erstellt. Ein paar Zeilen über dem Funktionsausruf muss dann entsprechend die Nummer für den "case" angepasst werden:
Code: [Select]
$form_array[] = array($CONFIG['user_field2_name'], 'user2', 0, 255, 1);
Code: [Select]
$form_array[] = array($CONFIG['user_field5_name'], 'user5', 0, 255, 1);
Was soll denn in die Auswahllisten jeweils rein?
Title: Re: Input "Text" gegen Select tauschen
Post by: Domiki86 on June 07, 2016, 03:15:10 pm
In den Bezeichnung Feld 2 sollen Ländernamen rein und in Bezeichnung Feld 5 Schiffstypen also z.b Stückgutfrachter.


Title: Re: Input "Text" gegen Select tauschen
Post by: Αndré on June 07, 2016, 04:12:25 pm
Alles klar. Ich habe heute vermutlich keine Zeit mehr den Code zu erstellen. Evtl. schaffe ich es am Donnerstag oder Freitag.
Title: Re: Input "Text" gegen Select tauschen
Post by: Domiki86 on June 07, 2016, 04:41:05 pm
Vielen Dank.

Mach dir keinen Stress ich habe Zeit :)

Title: Re: Input "Text" gegen Select tauschen
Post by: Αndré on June 16, 2016, 05:36:12 pm
Finde
Code: [Select]
// If the type is not present, kill the script.und füge darüber folgendes ein:
Code: [Select]
                case 5 :
                    foreach ($element[3] as $option) {
                        $options .= "<option>{$option}</option>";
                    }

                    echo <<< EOT

                    <tr>
                        <td class="tableb" style="white-space: nowrap;">
                            {$element[0]}
                        </td>
                        <td width="100%" class="tableb" valign="top">
                            <select name="{$element[1]}" maxlength="255" class="listbox">{$options}</select>
                        </td>
                    </tr>
EOT;
                    break;

Um nun Feld 2 entsprechend zu ändern, suchst du
Code: [Select]
$form_array[] = array($CONFIG['user_field2_name'], 'user2', 0, 255, 1);und änderst es in
Code: [Select]
$form_array[] = array($CONFIG['user_field2_name'], 'user2', 5, array('', 'TABOR ELEKTRYCZNY', 'TABOR SPALINOWY', 'TABOR PAROWY'));
Dasselbe dann noch für Feld 5.