Hier ist, was ich gemacht habe, um XML5-Elemente zu lösen.
Zuerst habe ich ein benutzerdefiniertes Formularelement erstellt unter: library/Custom/Form/Element/Html5.php
`
Dann habe ich einen benutzerdefinierten Ansichtshelfer erstellt unter: library/Custom/View/Helper/FormHtml5.php
_getInfo($name, $value, $attribs);
extract($info); // name, value, attribs, options, listsep, disable
// Element erstellen
$disabled = '';
if ($disable) {
// deaktiviert
$disabled = ' disabled="disabled"';
}
// XHTML oder HTML-Endtag?
$endTag = ' />';
if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
$endTag= '>';
}
$xhtml = '_htmlAttribs($attribs)
. $endTag;
return $xhtml;
}
}
Dann habe ich dies im Formular hinzugefügt:
class Application_Form_UserBasic extends Zend_Form
{
public function init()
{
// Dadurch wird ZF mitgeteilt, nach benutzerdefinierten Helfern in Ihrer benutzerdefinierten Bibliothek zu suchen
$view = $this->getView();
$view->addHelperPath(APPLICATION_PATH.'/../library/Custom/View/Helper/', 'Custom_View_Helper');
/* Einige andere Codes */
$email = new Custom_Form_Element_Html5('email');
$email->setAttribs(array( 'type' => 'email'));
/* Ihre anderen Elemente */
$this->addElements(array(
$email, /* Ihre anderen Elemente */
));
}
}
Vergessen Sie nicht, diese Zeile zu Ihrer application.ini-Datei hinzuzufügen, falls Sie dies noch nicht getan haben:
autoloaderNamespaces[] = "Custom_"
Ich hoffe, es hilft jemandem.
`