Advanced search  

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Pages: [1] 2   Go Down

Author Topic: mehr profilfelder  (Read 11273 times)

0 Members and 1 Guest are viewing this topic.

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
mehr profilfelder
« on: August 28, 2013, 01:04:36 pm »

hallo,


ich bräuchte noch ein paar profil felder mehr. gibt es da ein plugin für.
oder eine anleitung wie man zusätliche profilfelder einbaut.
brauche felder mit eingabe, textblock, checkbox.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #1 on: August 28, 2013, 01:24:40 pm »

Ein Plugin für genau diesen Zweck gibt es nicht. Soweit ich weiß, fügt das Plugin "cpgShop" neue Profilfelder hinzu, jedoch lässt der Name schon vermuten, dass der eigentliche Zweck des Plugins ein ganz anderer ist. Evtl. kann man das Plugin entsprechend kastrieren. Ich bin mir gerade auch nicht sicher, ob es hier im Forum schon entsprechende Mods gibt. Im Zweifelsfall musst du bei 0 starten, sollte jedoch nicht all zu schwer sein (Datenbank, Backend und Frontends erweitern).
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #2 on: August 28, 2013, 02:32:17 pm »

hi,

schade das es kein plugin dafür gibt.

gibt es den irgend wo eine anleitung, den meine php kentnisse werden dafür nicht ausreichen.
benötiege noch 34 zusäzliche felder.

18 felder, immer 1 feld mit 3 checkboxen zur auswahl (nur 1 makierbar) aber die anzeige im profil soll eine grafik oder nur eine farbe sein grün, rot, gelb (z.b) die als hintergund in einer tabelle oder div container darstellt. oder vor einer zeile eine grafik mit einem grünen haken, gelber punkt und rotes kreuz.

13 felder nur mit einzeiliger text eingabe

1 feld für textblock

2 felder wo man je ein bilder hochladen kann das eine bestimmte größe hat.

den das profi ist sehr wichtig für meine umsetzung.

gruss ralf



Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #3 on: August 28, 2013, 02:39:50 pm »

3 checkboxen zur auswahl (nur 1 makierbar)
Das ist dann ein Radio-Button, keine Checkbox.

Die Anzeige im Profil ist meiner Meinung nach erstmal egal, da wir die Werte überhaupt erstmal eingeben und speichern müssen, bevor wir sie irgendwo anzeigen.

In Coppermine gibt es 2 Arten Benutzer anzulegen. Entweder der Admin erledigt das, oder die Benutzer registrieren sich selbst. Welche Variante(n) ist/sind bei dir vorgesehen? Sollen diese Angaben überhaupt schon beim anlegen/registrieren eingefügt werden, oder reicht es auch, wenn die Nutzer ihr Profil später vervollständigen? Dann können wir uns ggf. sparen alles davon anpassen zu müssen.

2 felder wo man je ein bilder hochladen kann das eine bestimmte größe hat.
Sollte möglich sein, ein paar genauere Angaben wären aber hilfreich. Bilder in der falschen Größe (damit meinst du die Abmessungen, nicht die Dateigröße, oder?) werden generell abgelehnt?
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #4 on: August 28, 2013, 02:55:46 pm »

hi,

1. richtig radi-button

2.der user soll später nach der anmeldung sein profil ausfüllen können.

3. ich meine die abmessung des bildes soll eine bestimmte grösse haben z.b. 1, bild 800x300, 2. bild 300x400

gruss ralf
Logged
coppermine 1.5.x

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #5 on: August 28, 2013, 03:08:54 pm »

hi,

1. richtig radio-button

2.der user soll später nach der anmeldung sein profil ausfüllen können.

3. ich meine die abmessung des bildes soll eine bestimmte grösse haben z.b. 1, bild 800x300, 2. bild 300x400

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #6 on: August 29, 2013, 04:11:45 pm »

Schritt 1: Frontend

Öffne die Datei profile.php und suche nach
Code: [Select]
$edit_profile_form_param[]
Ich denke hier erkennst du schon selbst, wie das Formular zustande kommt. Je nachdem wo du nun deine weiteren Felder haben möchtest, musst du deinen neuen Code entsprechend einfügen. Ich füge die neuen Felder hier exemplarisch einfach mal hinter die benutzerdefinierten Felder ein. D.h. suche nach
Code: [Select]
$edit_profile_form_param[] = array('text', 'disk_usage', cpg_fetch_icon('disk_usage', 2) . $lang_register_php['disk_usage']);und davor kommt dann der neue Code.

Ein Feld für einzeilige Texteingabe sieht z.B. so aus:
Code: [Select]
$edit_profile_form_param[] = array('input', 'custom_input_1', 'Textfeld 1', 255);
für eine mehrzeilige Texteingabe so:
Code: [Select]
$edit_profile_form_param[] = array('textarea', 'custom_area_1', 'Textblock 1', 255);
Für die Radio-Buttons und die Dateiupload-Felder müssen wir erst noch neue Typen in der Funktion make_form definieren. Machen wir später, wenn der Rest soweit funktioniert.


Schritt 2: Backend

Damit Coppermine etwas mit den Erweiterungen anzufangen weiß, suchen wir
Code: [Select]
    $profile6 = $superCage->post->getEscaped('user_profile6');und fügen danach für alle oben hinzugefügten Formularfelder eine ähnliche Zeile ein, z.B.
Code: [Select]
    $custom_input_1 = $superCage->post->getEscaped('custom_input_1');
    $custom_input_2 = $superCage->post->getEscaped('custom_input_2');
    $custom_input_3 = $superCage->post->getEscaped('custom_input_3');
    // usw. bis 13
    $custom_area_1 = $superCage->post->getEscaped('custom_area_1');

Dann suchen wir die Zeile
Code: [Select]
$sql = "UPDATE {$CONFIG['TABLE_USERS']} SET user_profile1 = '$profile1', user_profile2 = '$profile2', user_profile3 = '$profile3', user_profile4 = '$profile4', user_profile5 = '$profile5', user_profile6 = '$profile6'" . (($CONFIG['allow_email_change'] || GALLERY_ADMIN_MODE) && !$error ? ", user_email = '$email'" : "") . " WHERE user_id = '" . USER_ID . "'";und fügen unsere Werte hinzu. Sieht dann in etwa so aus:
Code: [Select]
$sql = "UPDATE {$CONFIG['TABLE_USERS']} SET user_profile1 = '$profile1', user_profile2 = '$profile2', user_profile3 = '$profile3', user_profile4 = '$profile4', user_profile5 = '$profile5', user_profile6 = '$profile6', custom_input_1 = '$custom_input_1', custom_input_2 = '$custom_input_2', custom_input_3 = '$custom_input_3', custom_area_1 = '$custom_area_1'" . (($CONFIG['allow_email_change'] || GALLERY_ADMIN_MODE) && !$error ? ", user_email = '$email'" : "") . " WHERE user_id = '" . USER_ID . "'";(ich habe jetzt nicht alle 13 Felder eingefügt, sondern nur die ersten 3).


Schritt 3: Datenbankfelder hinzufügen

Der bisherige Code würde nur eine Fehlermeldung produzieren, da es die benötigten Felder in der Datenbank noch nicht gibt. Öffne dafür ein Tool wie z.B. phpMyAdmin und füge die Felder mit folgender Abfrage hinzu:
Code: [Select]
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_input_1` VARCHAR(255) NOT NULL default '';
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_input_2` VARCHAR(255) NOT NULL default '';
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_input_3` VARCHAR(255) NOT NULL default '';
-- usw. bis 13
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_area_1` VARCHAR(255) NOT NULL default '';


Schritt 4: Daten im Profilbearbeitungsmodus anzeigen

Suche
Code: [Select]
$sql = "SELECT user_name, user_email, user_group, user_active, UNIX_TIMESTAMP(user_regdate) AS user_regdate, group_name, " . "user_profile1, user_profile2, user_profile3, user_profile4, user_profile5, user_profile6, user_group_list, " . "COUNT(pid) AS pic_count, SUM(total_filesize) AS disk_usage, group_quota " . "FROM {$CONFIG['TABLE_USERS']} AS u " . "INNER JOIN {$CONFIG['TABLE_USERGROUPS']} AS g ON user_group = group_id " . "LEFT JOIN {$CONFIG['TABLE_PICTURES']} AS p ON p.owner_id = u.user_id " . "WHERE user_id ='" . USER_ID . "' " . "GROUP BY user_id ";und ersetze es durch
Code: [Select]
$sql = "SELECT u.*, user_name, user_email, user_group, user_active, UNIX_TIMESTAMP(user_regdate) AS user_regdate, group_name, " . "user_profile1, user_profile2, user_profile3, user_profile4, user_profile5, user_profile6, user_group_list, " . "COUNT(pid) AS pic_count, SUM(total_filesize) AS disk_usage, group_quota " . "FROM {$CONFIG['TABLE_USERS']} AS u " . "INNER JOIN {$CONFIG['TABLE_USERGROUPS']} AS g ON user_group = group_id " . "LEFT JOIN {$CONFIG['TABLE_PICTURES']} AS p ON p.owner_id = u.user_id " . "WHERE user_id ='" . USER_ID . "' " . "GROUP BY user_id ";(durch den Stern (*) wählen wir alle Felder aus, das müssen wir also nicht weiter beachten).

Suche
Code: [Select]
        'user_profile6' => $user_data['user_profile6'],und füge darunter folgendes ein:
Code: [Select]
        'custom_input_1' => $user_data['custom_input_1'],
        'custom_input_2' => $user_data['custom_input_2'],
        'custom_input_3' => $user_data['custom_input_3'],
        // usw. bis 13
        'custom_area_1' => $user_data['custom_area_1'],


Schritt 5: Daten im öffentlichen Profil anzeigen

Suche
Code: [Select]
if ($CONFIG['user_profile6_name'] != '') {
    $display_profile_form_param[] = array('text', 'user_profile6', $CONFIG['user_profile6_name']);
}
unter füge darunter folgendes ein:
Code: [Select]
$display_profile_form_param[] = array('text', 'custom_input_1', 'Textfeld 1');
$display_profile_form_param[] = array('text', 'custom_input_2', 'Textfeld 2');
$display_profile_form_param[] = array('text', 'custom_input_3', 'Textfeld 3');
// usw.
$display_profile_form_param[] = array('text', 'custom_area_1', 'Textblock 1');

Suche
Code: [Select]
'user_profile6' => bb_decode($user_data['user_profile6']),und füge darunter folgendes ein:
Code: [Select]
        'custom_input_1' => $user_data['custom_input_1'],
        'custom_input_2' => $user_data['custom_input_2'],
        'custom_input_3' => $user_data['custom_input_3'],
        // usw. bis 13
        'custom_area_1' => bb_decode($user_data['custom_area_1']),


Das kannst du erstmal abarbeiten und bescheid geben, falls irgendwas nicht wie erwartet funktioniert.
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #7 on: August 30, 2013, 01:50:32 am »

hallo,

werde es heute mal probieren und die sachen einfügen.

danke erst mal ist super.

gruss ralf
Logged
coppermine 1.5.x

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #8 on: August 30, 2013, 03:42:52 am »

hallo,

hat mir keine ruhe gelassen, habe die eintragungen gemacht.
und siehe da 13 felder und ein text feld sind da.

super.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #9 on: August 30, 2013, 09:00:41 am »

Und es funktioniert auch alles soweit (Daten eintragen, ändern, anzeigen, etc.)?
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #10 on: August 30, 2013, 11:37:53 am »

hi andre,

ja er zeigt die felder an beim profil ändern, wen die felder leer sind werden die nicht angezeigt und wen ich die ausfülle alle 13 oder nur ein paar dann werden die ausgefüllten felder angezeigt. also werden die auch in der db gespeichert.
so weit alles ok.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #11 on: August 30, 2013, 11:52:03 am »

Ich habe jetzt leider keine Zeit mehr für die Radio-Buttons und die Upload-Felder. Nach dem Wochenende können wir fortfahren.
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #12 on: September 06, 2013, 03:30:30 pm »

Die Radiobuttons.

Schritt 0: make_form erweitern

Suche
Code: [Select]
        default:
            cpg_die(CRITICAL_ERROR, 'Invalid action for form creation ' . $element[0], __FILE__, __LINE__);
        }
und füge darüber folgendes ein
Code: [Select]
        case 'radio':

            $value = $form_data[$element[1]];

            if ($element[2]) {

                echo <<< EOT
    <tr>
        <td width="40%" class="{$cellStyle}" height="25" valign="top">
            {$element[2]}
        </td>
        <td width="60%" class="{$cellStyle}" valign="top">
EOT;
                for ($i=1; $i <= $element[3]; $i++) {
                    $checked = $value == $i ? 'checked="checked" ' : '';
                    echo <<< EOT
            <input type="radio" name="{$element[1]}" value="$i" class="radio" $checked/>
EOT;
                }
                echo <<< EOT
        </td>
    </tr>


EOT;
            }

            break;


Schritt 1: Frontend

Füge wie bereits beschrieben in der Nähe der anderen Zeilen mit
Code: [Select]
$edit_profile_form_param[]etwas in folgender Art hinzu
Code: [Select]
$edit_profile_form_param[] = array('radio', 'custom_radio_1', 'Radiobutton 1', 3);
$edit_profile_form_param[] = array('radio', 'custom_radio_2', 'Radiobutton 2', 3);
$edit_profile_form_param[] = array('radio', 'custom_radio_3', 'Radiobutton 3', 3);
// usw. bis 18


Schritt 2: Backend

Damit Coppermine etwas mit den Erweiterungen anzufangen weiß, suchen wir
Code: [Select]
    $profile6 = $superCage->post->getEscaped('user_profile6');und fügen danach für alle oben hinzugefügten Formularfelder eine ähnliche Zeile ein, z.B.
Code: [Select]
    $custom_radio_1 = $superCage->post->getEscaped('custom_radio_1');
    $custom_radio_2 = $superCage->post->getEscaped('custom_radio_2');
    $custom_radio_3 = $superCage->post->getEscaped('custom_radio_3');
    // usw. bis 18

Dann erweiterst du die SQL-Abfrage
Code: [Select]
$sql = "UPDATE {$CONFIG['TABLE_USERS']} SET user_profile1 = '$profile1', .......wie oben beschrieben um die weiteren Werte.

Kombiniert mit meinem obigen Beispiel sieht die Zeile bei mir jetzt so aus:
Code: [Select]
$sql = "UPDATE {$CONFIG['TABLE_USERS']} SET user_profile1 = '$profile1', user_profile2 = '$profile2', user_profile3 = '$profile3', user_profile4 = '$profile4', user_profile5 = '$profile5', user_profile6 = '$profile6', custom_input_1 = '$custom_input_1', custom_input_2 = '$custom_input_2', custom_input_3 = '$custom_input_3', custom_area_1 = '$custom_area_1', custom_radio_1 = '$custom_radio_1', custom_radio_2 = '$custom_radio_2', custom_radio_3 = '$custom_radio_3' " . (($CONFIG['allow_email_change'] || GALLERY_ADMIN_MODE) && !$error ? ", user_email = '$email'" : "") . " WHERE user_id = '" . USER_ID . "'";

Schritt 3: Datenbankfelder hinzufügen

Der bisherige Code würde nur eine Fehlermeldung produzieren, da es die benötigten Felder in der Datenbank noch nicht gibt. Öffne dafür ein Tool wie z.B. phpMyAdmin und füge die Felder mit folgender Abfrage hinzu:
Code: [Select]
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_radio_1` VARCHAR(1) NOT NULL default '';
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_radio_2` VARCHAR(1) NOT NULL default '';
ALTER TABLE `cpg15x_users` ADD COLUMN `custom_radio_3` VARCHAR(1) NOT NULL default '';
-- usw. bis 18


Schritt 4: Daten im Profilbearbeitungsmodus anzeigen

Suche
Code: [Select]
        'user_profile6' => $user_data['user_profile6'],und füge darunter folgendes ein:
Code: [Select]
        'custom_radio_1' => $user_data['custom_radio_1'],
        'custom_radio_2' => $user_data['custom_radio_2'],
        'custom_radio_3' => $user_data['custom_radio_3'],
        // usw. bis 18

Die Datenbankabfrage müssen wir dank des verwendeten Stern (*) nicht weiter anpassen.


Schritt 5: Daten im öffentlichen Profil anzeigen

Suche
Code: [Select]
if ($CONFIG['user_profile6_name'] != '') {
    $display_profile_form_param[] = array('text', 'user_profile6', $CONFIG['user_profile6_name']);
}
unter füge darunter folgendes ein:
Code: [Select]
$display_profile_form_param[] = array('text', 'custom_radio_1', 'Radiobutton 1');
$display_profile_form_param[] = array('text', 'custom_radio_2', 'Radiobutton 2');
$display_profile_form_param[] = array('text', 'custom_radio_3', 'Radiobutton 3');
// usw. bis 18

Suche
Code: [Select]
        'user_profile6' => bb_decode($user_data['user_profile6']),und füge darunter folgendes ein:
Code: [Select]
        'custom_radio_1' => radio_button_color($user_data['custom_radio_1']),
        'custom_radio_2' => radio_button_color($user_data['custom_radio_2']),
        'custom_radio_3' => radio_button_color($user_data['custom_radio_3']),
        // usw. bis 18

Jetzt fügst du vor dem darüberstehenden
Code: [Select]
$form_data = array(noch folgende Funktion hinzu:
Code: [Select]
    function radio_button_color($value) {
        switch($value) {
            case '1': $color = 'red'; break;
            case '2': $color = 'yellow'; break;
            case '3': $color = 'green'; break;
            default: $color = false; break;
        }
        if ($color) {
            return '<div style="width: 16px; height: 16px; background: '.$color.'"></div>';
        } else {
            return $value;
        }
    }

Die Funktion sorgt dafür, anstatt dem Wert eine farbige Box darzustellen.
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #13 on: September 06, 2013, 06:07:41 pm »

hallo Andre,,

Super habe es eben eingebunden und es funktioniert.

habe dazu noch eine frage die anzeige für die fab felder ist:
Code: [Select]
function radio_button_color($value) {
        switch($value) {
            case '1': $color = 'red'; break;
            case '2': $color = 'yellow'; break;
            case '3': $color = 'green'; break;
            default: $color = false; break;
        }
        if ($color) {
            return '<div style="width: 16px; height: 16px; background: '.$color.'"></div>';
        } else {
            return $value;
        }
    }


Die Funktion sorgt dafür, a

wen ich keine farbe möchte sonder kleine icons wie mache ich das ?

habe es versucht mit
Code: [Select]
  case '1': $color = 'img src="themes/neu/images/neina.png"; break;
  case '1': $color = 'img src="themes/neu/images/vie.png"; break;
  case '1': $color = 'img src="themes/neu/images/ja.png"; break;

meine denkweise ist bestimmt falsch.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #14 on: September 06, 2013, 07:31:22 pm »

Der Ansatz ist prinzipiell richtig. Probier es mal mit
Code: [Select]
        switch($value) {
            case '1': $img = 'neina.png'; break;
            case '2': $img = 'vie.png'; break;
            case '3': $img = 'ja.png'; break;
            default: $img = false; break;
        }
        if ($img) {
            return '<img src="themes/neu/images/'.$img.'" />';
        } else {
            return $value;
        }
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #15 on: September 06, 2013, 09:08:04 pm »

hallo andre,

super so geht es so nimmt er die icons.

mir ist aufgefallen das im profil wen ich es ausfülle er mir die 3 radiobubuttons anzeigt (neben einander) nur weiß man nicht für was die stehen.
es müsste vor dem 1. Nein stehen vor dem 2. vieleicht und vor dem 3. Ja.

da ich ja den Text für die zusätzlichen felder manuell eingeben muss für "Textfeld 1" "Radiobutton 1" bekomme ich für umlaute nur diese schwarze raute angezeigt.
könnte man den text so ersetzen das er die texte aus der german.php nimmt dann könnte man das auch nehmen wen ich deutsch und englisch nutzen möchte. könnte dann die lang bearbeiten.

habe mir die vorhandenen felder angesehen und wen ich bei den neuen den text durch z.b.   $CONFIG['custom_input_1'] ersetze wäre ja zu einfach da muss doch bestimmt noch mehr gemacht werden.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #16 on: September 09, 2013, 12:19:17 pm »

mir ist aufgefallen das im profil wen ich es ausfülle er mir die 3 radiobubuttons anzeigt (neben einander) nur weiß man nicht für was die stehen.
es müsste vor dem 1. Nein stehen vor dem 2. vieleicht und vor dem 3. Ja.

Suche
Code: [Select]
                for ($i=1; $i <= $element[3]; $i++) {
                    $checked = $value == $i ? 'checked="checked" ' : '';
                    echo <<< EOT
            <input type="radio" name="{$element[1]}" value="$i" class="radio" $checked/>
EOT;
                }
und ersetze es durch
Code: [Select]
                for ($i=1; $i <= $element[3]; $i++) {
                    $checked = $value == $i ? 'checked="checked" ' : '';
                    switch($i) {
                        case 1: $label = "Nein"; break;
                        case 2: $label = "Vielleicht"; break;
                        case 3: $label = "Ja"; break;
                        default: $label = ""; break;
                    }
                    echo <<< EOT
            <label for="{$element[1]}{$i}">{$label}:</label>
            <input type="radio" name="{$element[1]}" value="{$i}" id="{$element[1]}{$i}" class="radio" {$checked}/>
            &nbsp;
EOT;
                }



da ich ja den Text für die zusätzlichen felder manuell eingeben muss für "Textfeld 1" "Radiobutton 1" bekomme ich für umlaute nur diese schwarze raute angezeigt.
Das liegt an der fehlenden UTF-8-Codierung. Entweder codierst du die Datei profile.php in UTF-8 um oder du benutzt die entsprechenden Entitäten (ä = &auml; / ö = &ouml; / usw.).



könnte man den text so ersetzen das er die texte aus der german.php nimmt dann könnte man das auch nehmen wen ich deutsch und englisch nutzen möchte. könnte dann die lang bearbeiten.
Sicher. Füge einfach in die entsprechenden Sprachdateien neue Werte hinzu, die du dann entsprechend an beiden Stellen in profile.php ersetzt. Z.B. fügst du in den Sprachdateien direkt vor
Code: [Select]
?>folgendes ein
Code: [Select]
$lang_profile_custom['radio1'] = 'Radiobutton 1';
Wichtig ist, dass du einen Eintrag in die Englische Sprachdatei hinzufügst, da diese immer als Fallback für alle Sprachdateien fungiert, in denen der String nicht vorhanden ist.

Dann suchst du in profile.php nach
Code: [Select]
'Radiobutton 1'(kommt 2 mal vor) und ersetzt beides durch
Code: [Select]
$lang_profile_custom['radio1']
Entsprechend verfährst du mit den anderen Strings.
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #17 on: September 09, 2013, 05:57:09 pm »

hi andre,

super, werde es direkt ausprobieren.

DANKE.

gruss ralf
Logged
coppermine 1.5.x

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #18 on: September 09, 2013, 06:18:05 pm »

hi andre,

habe es so gemacht aber irgend wo ist ein fehler wen ich das profil aufrufe läd er es nicht nur weiße seite.

habe in der lang de und en habe ich das gemacht (vor ?>)
Code: [Select]
$lang_profile_custom['radio1'] = 'Portrait';

in der profil an beiden stellen
Code: [Select]
$edit_profile_form_param[] = array('radio', 'custom_radio_1', '$lang_profile_custom['radio1']', 3);

$display_profile_form_param[] = array('text', 'custom_radio_1', '$lang_profile_custom['radio1']');

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #19 on: September 09, 2013, 06:58:30 pm »

Ersetze
Code: [Select]
$edit_profile_form_param[] = array('radio', 'custom_radio_1', '$lang_profile_custom['radio1']', 3);durch
Code: [Select]
$edit_profile_form_param[] = array('radio', 'custom_radio_1', $lang_profile_custom['radio1'], 3);und bei allen anderen geänderten Zeilen entsprechend auch. Hätte ich vielleicht deutlicher kennzeichnen sollen in meiner Beschreibung, aber wenn du genau hinsiehst, wird der String samt Hochkommata durch die Variable ersetzt.
Logged
Pages: [1] 2   Go Up
 

Page created in 0.033 seconds with 19 queries.