Kunden-Selbstanmeldung anpassen

Es ist möglich, die Kunden-Selbstanmeldung für neue Kunden über "customer.pl" anzupassen. Somit können Sie mehr optionale oder benötigte Felder (z.B. Adresse, Ort) hinzufügen.

In unserem Beispiel wollen wir ein benötigtes Adress-Feld hinzufügen.

Vorlage

Editieren Sie "Kernel/Output/HTML/Standard/CustomerCreateAccount.dtl" und fügen Sie Ihre gewünschten Felder hinzu. Wir möchten ein Adress-Feld, also fügen Sie folgendes hinzu:

    [...]
    <tr>
      <td>$Text{"Address"}: </td>
      <td> <input type="text" name="Address" value="$Data{"UserAddress"}" size="35" maxlength="50"></td>
    </tr>
    [...]

Kunden-Mapping

Zusätzlich müssen Sie einen "Adress"-Eintrag zu Ihrem Kunden-Mapping hinzufügen. Fügen Sie "CustomerUser" (Kunden-Mapping) aus "Kernel/Config/Defaults.pm" zu Ihrer "Kernel/Config.pm" hinzu und ergänzen Sie das Adress-Feld. Danach sollte es ungefähr so aussehen:

    [Kernel/Config.pm]
    $Self->{CustomerUser} = {
        Name => 'Interne Kunden',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            Table => 'customer_user',
        },
        Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown, required, storage-type, link
            [ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var' ],
            [ 'UserFirstname', 'Firstname', 'first_name', 1, 1, 'var' ],
            [ 'UserLastname', 'Lastname', 'last_name', 1, 1, 'var' ],
            # our new option
            [ 'UserAddress', 'Address', 'address', 1, 1, 'var' ],
            [ 'UserLogin', 'Login', 'login', 1, 1, 'var' ],
            [ 'UserPassword', 'Password', 'pw', 0, 1, 'var' ],
            [ 'UserEmail', 'Email', 'email', 1, 1, 'var' ],
            [ 'UserCustomerID', 'CustomerID', 'customer_id', 1, 1, 'var' ],
            [ 'UserComment', 'Phone', 'comment', 1, 0, 'var' ],
            [ 'ValidID', 'Valid', 'valid_id', 0, 1, 'int' ],
        ],
        Key => 'login',
        CustomerID => 'customer_id',
    };
    [...]

Kunden-Tabelle anpassen

Ausserdem müssen wir eine neue Spalte zu unserer "customer_user" Tabelle hinzufügen.

mysql> ALTER TABLE customer_user ADD address VARCHAR (200);
Query OK, 0 rows affected (0.21 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> 
Das ist alles - Starten Sie Ihren Webserver neu (falls Sie mod_perl benutzen) und gehen Sie auf "http://otrs.example.com/otrs/customer.pl", um es zu testen.