2016-09-12 3 views
0

Ich benutze Titan Framework mit einem benutzerdefinierten Plugin, das ich geschrieben habe. Es gibt eine Seite mit den Einstellungen, die ein Register hat und darauf gibt es ein Textfeld:Wie man das Titan Framework Textfeld benötigt

array(
    'name' => 'Slug', 
    'id'  => 'my_slug', 
    'type' => 'text', 
    'default' => 'my-slug', 
    'desc' => 'The slug.', 
), 

Dieses Textfeld kann der Benutzer einen Butzen für das Plugin-Frontend UI angeben. Das Problem besteht darin, dass ein Benutzer dieses Feld zu nichts löschen und dann Einstellungen speichern kann, die zu einem Fehler führen.

Ich verstehe, dass ich diese Bedingung im PHP-Code abfangen kann, wenn diese Einstellungsoption verwendet wird. Ich verstehe auch, dass dies mithilfe von jQuery geschehen könnte, um einen angegebenen Wert zu erzwingen, aber es scheint, dass es eine Best-Practice-Lösung geben sollte.

Kann jemand mir den richtigen Weg sagen, um sicherzustellen, dass dieses Feld einen Wert hat?

Antwort

1

Der Benutzer kann es definitiv als leer speichern und ja können Sie das mit JS verhindern. Da es aber keinen "pre save" -Filter gibt, können Sie der Methode, die Sie erwähnt haben, ein placeholder-Attribut hinzufügen, um die Illusion eines Werts zu erzeugen, wenn dieser leer ist (dies dient nur der besseren Benutzererfahrung). .

Dann überprüfen Sie für empty, wenn Sie den Wert erhalten.

$slug = $titan->getOption('my_slug'); 
if (empty($slug)) { 
    $slug = 'post'; 
} 
+0

Ich denke, das ist einfach genug, um in der Feldbeschreibung zu erklären, dass die Einstellung standardmäßig "My-Slug" ist. Vielen Dank. – rwkiii

Verwandte Themen