Ich benutze OctoberCMS basierend auf Laravel.OctoberCMS Wie Überschreiben Benutzer Plugin onRegister() Funktion?
Ich versuche, die Users PluginonRegister()
Funktion zu übersteuern.
A previous answer helped me extend the plugin.
Ich möchte Benutzernamen beschränken nur mit alpha_dash
und Begrenzung auf 50 Zeichen alphanumerisch.
Die ursprüngliche Funktion in Account.php
public function onRegister()
{
...
if ($this->loginAttribute() == UserSettings::LOGIN_USERNAME) {
$rules['username'] = 'required|between:2,255';
}
Mein Aufschalten
Benutzer Ereignisse docs https://github.com/rainlab/user-plugin#events
public function boot() {
\RainLab\User\Models\User::extend(function($model) {
$model->bindEvent('model.beforeUpdate', function() use ($model) {
# User Register
\Event::listen('rainlab.user.register', function($user, $data) {
if ($this->loginAttribute() == UserSettings::LOGIN_USERNAME) {
$rules['username'] = 'required|alpha_dash|between:2,50';
}
});
});
});
}
Fehler
"Call to undefined method [loginAttribute]"
Wenn ich die if-Anweisung und loginAttribute und verwenden Sie nur $ Regeln [ ‚username‘] zu entfernen, bin ich noch in der Lage mit nicht-alphanumerischen Zeichen-Namen zu registrieren.
Ich war in der Lage, neuen Code mit diesem zu erweitern, aber nicht vorhandenen Code zu überschreiben.
Jetzt funktioniert es perfekt. –