Ich verhindere erfolgreich, dass bestimmte Inhalte unter bestimmten Bedingungen gespeichert werden, habe jedoch Probleme beim Umgang mit der Fehlermeldung an den Benutzer.
Der eigentliche Text wird zwar angezeigt, es wird jedoch zusätzlich erwähnt, dass " Speichern mit dem folgenden Fehler fehlgeschlagen ist: ". Dann folgt nichts. Es scheint redundant zu sein, da der Text angezeigt wird, aber ich weiß nicht, wie ich ihn unterdrücken oder die richtigen Informationen dafür bereitstellen soll, damit er dem Benutzer nicht unvollständig erscheint.
public function onContentBeforeSave($context=null, $article=null, $isNew=0) {
if($myTestFails){
$errormsg = 'My error message while saving categories...';
JError::raiseWarning(403, $errormsg);
return false;
}
}
Error
Meine Fehlermeldung beim Speichern von Kategorien ...
Speichern fehlgeschlagen mit folgendem Fehler:
Antworten:
Aufgrund von "return false" werden Sie zum Modell zurückgeführt, sodass die Meldung "Speichern fehlgeschlagen mit folgendem Fehler:" angezeigt wird.
Wenn Sie nicht zum Modell zurückkehren möchten, können Sie den Benutzer direkt zu Ihrem Formular zurückleiten, anstatt das Modell, dann den Controller und schließlich Ihre Formularansicht einzugeben.
Da Sie sich jedoch vom Modell und vom Controller entfernen, müssen Sie sich selbst um etwas kümmern. Sie müssen beispielsweise speichern, was der Benutzer in Ihr Formular eingegeben hat, um es nach der Umleitung automatisch im Formular anzuzeigen. Dies hilft dem Benutzer, dies nicht zu tun Füllen Sie das Formular erneut aus.
Sie können sich die save () -Funktionen in Bibliotheken / Legacy / Controller / form.php und Bibliotheken / Legacy / Modell / admin.php ansehen. Dort gibt es nützliche Informationen.
quelle
Sie sollten wahrscheinlich eine Ausnahme auslösen.
JError war in Joomla 3.0 veraltet
quelle