How can you check if dojo is enabled in a view script then? isEnabled() is unavailable after removing the Dojo view helper path.
Guillaume Oriol wrote: > > Thank you Matthew. > Once again you've found the answer AND the solution. > -- > Best regards > > > Matthew Weier O'Phinney-3 wrote: >> >> -- Guillaume Oriol <[email protected]> wrote >> (on Thursday, 04 December 2008, 11:40 PM -0800): >>> Thank you Matthew for your answer >>> but I don't use Zend_Dojo_Form in my form, neither any Dijit. >>> My form extends Zend_Form. >>> >>> Why would ZF enable Dojo in such a case? >> >> I know what's going on. >> >> There is a standard view helper, Form, and one of the same name in the >> Zend_Dojo_View_Helper tree. Because your view object has been >> initialized with the Dojo view helper path, it's finding the Dojo Form >> view helper and using that over the standard one. >> >> The easiest way around this is to, in your form's render method, remove >> the Dojo view helper path: >> >> public function render(Zend_View_Interface $view = null) >> { >> if (null === $view) { >> $view = $this->getView(); >> } >> $loader = $view->getPluginLoader('helper'); >> if ($loader->getPaths('Zend_Dojo_View_Helper')) { >> $loader->removePrefixPath('Zend_Dojo_View_Helper'); >> } >> return parent::render($view); >> } >> >> >>> Matthew Weier O'Phinney-3 wrote: >>> > >>> > -- Guillaume Oriol <[email protected]> wrote >>> > (on Thursday, 04 December 2008, 01:38 AM -0800): >>> >> Hi, I am facing a problem with Dojo: I set up Dojo to be disabled by >>> >> default >>> >> but it is still enabled in my login form. >>> >> >>> >> >>> >> 1. I've put in my bootstrap file those two lines (set up Dojo >>> >> environment but >>> >> disable it by default): >>> > <snip> >>> >> 2. Then, in my authentication controller: >>> > <snip> >>> >> 3. My form extends Zend_Form (NOT Zend_Dojo_Form). Furthermore, I >>> only >>> >> use >>> >> plain elements that are not Dijits : Zend_Form_Element_Text, >>> >> Zend_Form_Element_Password et Zend_Form_Element_Submit. >>> >> 4. My view script is very short: >>> > <snip> >>> >> 5. And this view script is invoked by the layout where one can find: >>> > <snip> >>> >> >>> >> But, in the generated HTML page, I find in the HEAD tag: >>> > <snip - finds dojo artifacts> >>> > >>> > So, Zend_Dojo_Form utilizes the Dojo form view helper.. so rendering >>> > your form renders that helper. All Dijit view helpers, on >>> instantiation, >>> > enable the dojo() view helper. So, my recommendations are to either: >>> > >>> > * not use Zend_Dojo_Form if you're not actually using any >>> > dojo-specific elements >>> > * Call $this->dojo()->disable(); after you render the form >>> > >>> > -- >>> > Matthew Weier O'Phinney >>> > Software Architect | [email protected] >>> > Zend Framework | http://framework.zend.com/ >>> > >>> > >>> >>> >>> ----- >>> Guillaume ORIOL >>> Sofware architect >>> Technema >>> -- >>> View this message in context: >>> http://www.nabble.com/unable-to-disable-Dojo-tp20830062p20849091.html >>> Sent from the Zend Framework mailing list archive at Nabble.com. >>> >> >> -- >> Matthew Weier O'Phinney >> Software Architect | [email protected] >> Zend Framework | http://framework.zend.com/ >> >> > > -- View this message in context: http://www.nabble.com/unable-to-disable-Dojo-tp20830062p21942740.html Sent from the Zend Framework mailing list archive at Nabble.com.
