Mit der “inputs()” (man beachte das “s”) können gleich mehrere Formularfelder erstellt werden. Mit der üblichen Schreibweise kann dann auch ein “legend”-Tag erstellt werden:
echo $form->inputs(array('legend' => 'Login', 'username', 'password'));
Mit der “inputs()” (man beachte das “s”) können gleich mehrere Formularfelder erstellt werden. Mit der üblichen Schreibweise kann dann auch ein “legend”-Tag erstellt werden:
echo $form->inputs(array('legend' => 'Login', 'username', 'password'));
Beispiele, wie hübsche (geschmackssache) Formulare mit CSS gestaltet werden können gibt es bei Smashinmagazine.
Um beispielsweise den “Login”-Link in einen “Logout”-Link wechseln zu lassen, sobald der Nutzer eingeloggt ist, braucht man von der Auth-Komponente irgendeine Rückmeldung über den Status. Eine Methode existiert dafür per se nicht. Die Methode
Auth->user()
ist jedoch eigentlich eine Wrapper-Methode für die Session
Auth.User
Daher kann man den Weg über die Session gehen und in Controllern mit der Session-Component und den Views (und damit auch im Layout – falls notwendig) mit dem Session-Helper arbeiten:
In Controllern sieht die Überprüfung daher folgendermaßen aus. Ist der Nutzer eingeloggt, liefert die Methode true
$this->Session->check('Auth.User.id');
In Views muss es so gehandhabt werden:
$session->check('Auth.User.id');
Webseiten sollten – wenn möglich – für alle Nutzer zugänglich sein: Stichwort Barrierefreiheit. Es gibt Richtlinien für Webentwickler für die Barrierefreiheit, die in einer deutschen Übersetzung beim W3C zu finden sind.
Ein wichtiger Punkt ist natürlich, dass auch Inhalt der Webseite erreichbar sind, wenn z.B. Javascript nicht vom Browser unterstützt oder gar deaktiviert ist. Was also tun, wenn man (aus Design- und eventuell auch Übersichtlichkeitsgründen) scriptaculous-Effekte einsetzt?
Die Antwort ist – wie meistens so oft – ganz simpel:
Aufsliden...
Anstatt eines einfachen Ankers (#) den wirklichen Link im <a>-Tag angeben. Wenn Javascript aktiviert ist, wird der EventHandler “onclick” genutzt, sonst wird das angegebene “href” Attribut als Link verfolgt.
Die aktuelle URL kann man in CakePHP über mindestens zwei Wege bekommen.
1. Mit Hilfe der Router-Klasse:
Router::url("", false);
Der zweite boolsche Parameter gibt an, ob die URL relative (false) oder absolut (true) zurückgeliefert werden soll.
2. In den Views kann mittels
$this->params;
auf ein Array zurückgegriffen werden, welches ebenfalls Angaben über die URI enthält, hier beispielsweise dargestellt:
array(8) {
["pass"]=> array(1) {[0]=> string(7) "anfahrt" }
["named"]=> array(0) { }
["plugin"]=> NULL
["controller"]=> string(5) "pages"
["action"]=> &string(7) "display"
["form"]=> array(0) { }
["url"]=> array(1) { ["url"]=> string(13) "pages/anfahrt" }
["models"]=> array(0) { }
}
Letzte Kommentare