So. Ich habe es mit einem Kumpel, der da etwas fitter ist, hinbekommen.
Ich habe nun in bei der Registrierung ein zusätzliches Feld (in meinem Falle "Kundennummer").
Diese wird in der Datenbank gespeichert.
Dazu muss die Datenbank um diese Zeile erweitert werden. Habe dies in phpmyadmin gemacht.
In der
application\modules\user\views\regist\input.php habe ich im Code folgenden Zusatz anhand der Vorgaben von `name`ergänzt:
<div class="form-group">
<label for="kundennummer" class="control-label col-lg-2">
<?=$this->getTrans('kundennummer') ?>:
</label>
<div class="col-lg-8">
<input type="text"
class="form-control"
id="kundennummer"
name="kundennummer"
value="<?= $this->originalInput('kundennummer') ?>" />
</div>
</div>
In der
application\modules\user\models\User.php
habe ich noch folgende Parameter hinzugefügt:
protected $kundennummer;
public function getKundennummer()
{
return $this->kundennummer;
}
public function setKundennummer($kundennummer)
{
$this->kundennummer = (string)$kundennummer;
return $this;
}
Ich weiß jetzt ehrlich gesagt nicht, ob noch was fehlt. Wir waren heute in so vielen Dateien und Codeschnipseln und haben soviel rumprobiert und wieder rückgängig gemacht! ^^ Aber vielleicht halt es jemandem, der auch auf der Suche nach sowas ist.
Nun mache ich mich noch dran, diese Kundennummer auch im admincenter zu sehen. Für den User selbst ist die Ansicht nicht weiter relevant. Die Kundennummer dient nur der Freischaltung.
Update:
Habe es nun so wie ich wollte.
Im Admincenter wird mir nun in der Benutzerverwaltung zusätzlich die von mir verlangte Kundennummer angezeigt.
Dazu habe ich Änderungen wie folgt vorgenommen:
application\modules\user\views\admin\index\index.php
Zeile 52
<th><?=$this->getTrans('kundennummer') ?></th>
und in Zeile 105
<td><?=$this->escape($user->getKundennummer()) ?></td>
und dann in der
Modules\User\Mappers\User.php
Zeile 58 - 70
public function getUserByKundennummer($kundennummer)
{
$where = [
'kundennummer' => (string)$kundennummer,
];
$users = $this->getBy($where);
if (!empty($users)) {
return reset($users);
}
return null;
Zeile 128 mit
'kundennummer'
ergänzt
Zeile 224 -225
if (isset($userRow['kundennummer'])) {
$user->setKundennummer($userRow['kundennummer']);
Zeile 331
$kundennummer = $user->getKundennummer();
Zeile 345 - 346
if (!empty($kundennummer)) {
$fields['kundennummer'] = $user->getKundennummer();
Ich weiß allerdings nicht ob alle Änderungen nötig waren?! Habe halt da Kundennummer hinzugefügt wo es Abfragen bezüglich dem User gibt.
Falls es Änderungen sind die unnötig oder "gefährlich" sind, wäre ich für eine Info dankbar..
Zuletzt modifiziert von wagsch am 08.02.2021 - 02:53:23