Top Tip: XHTML with Zend Form Elements
When you render a Zend_Form, the elements will render to HTML compliance rather than XHTML compliance, even if you have < ?php echo $this->doctype('XHTML1_STRICT');?> at the top of your layout script. Practically, this means that all the input elements do not end in "/>".
To resolve this, you need to call the doctype() view helper prior to rendering your form.
Within my projects, I do this within a front controller plug-in called ViewSetup that looks a little like this:
class App_Controller_Plugin_ViewSetup extends Zend_Controller_Plugin_Abstract { public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { // setup the layout Zend_Layout::startMvc(); $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); $viewRenderer->init(); $view = $viewRenderer->view; $view->doctype('XHTML1_TRANSITIONAL'); $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8'); } }
Obviously, this class lives in the file library/App/Controller/Plugin/ViewSetup.php.
As you can see, I also set up the meta tag for the content-type to UTF-8 ready for rendering later.

May 29th, 2008 at 22:30 #
Very helpful indeed! Thanks for sharing. By the way, it appears that you have a mismatched single quote type in appendName().
I think this ′was meant to be this '
May 30th, 2008 at 06:25 #
Hi Chad,
That'll be WordPress trying to be helpful! It's correct when I edit the entry.
Regards,
Rob...
June 1st, 2008 at 03:23 #
Rob,
I may be wrong(wouldn't be the first time) but for 'Content-Type' shouldn't you be using $view->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8')?
Christian
June 1st, 2008 at 08:26 #
Christian,
You are right :) I've updated.
Regards,
Rob...
June 2nd, 2008 at 18:36 #
Hallo Rob, I want to use fckeditor in mijn zf Wesite. Can you help me how i can do that.
Regards,
Nour
June 10th, 2008 at 23:15 #
Hi Rob!, i think this is a real good wordk, but i don`t know hot to implement into my proyect, i have an modular estructure, something like this,
public/ library/ aplications/ layouts/ config/ modules/ contact/ controllers/ plugins/ views/ models/shout i call it
Aplications_Modules_Contact_Controller_Plugin_ViewSetup
and that's it? Regardss, Gonzalo
June 11th, 2008 at 05:01 #
Gonzalo,
I would create a directory under library/ called "App" and store things like this in there.
Regards,
Rob...
June 11th, 2008 at 05:57 #
The Zend docs say that XHTML11 is an option, but in fact it's not in the current 1.5.2 release.
http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.doctype
XHTML11 is an option in the trunk code, so it will probably make it into the next release.