-- Dan Rossi <[EMAIL PROTECTED]> wrote
(on Tuesday, 07 August 2007, 11:50 PM +1000):
> $this was referencing the template engine not the view class where $t is 
> the view class. A template variable like {myHelper():h} would be 
> compiled back as $t->myHelper(), however because it compiles with the 
> method_exists it never gets run because there is no method like that in 
> the view class itself rather it gets set in the call, so im needing to 
> work that one out. My problem now is getting all these helpers to be 
> able to get session variables from a particular session namespace in the 
> registry, I guess i send it as a variable to the view class ?

Either as a variable, or in your helper, simply invoke the namespace:

    require_once 'Zend/Session/Namespace.php';
    $myNamespace = new Zend_Session_Namespace('myNamespace');

Zend_Session is basically a singleton, so the above will work from
anywhere to grab the appropriate session namespace.

> Keith Pope wrote:
> > Hi,
> > 
> > I use a custom view class that inherits from the Zend_View. I haven't had 
> > any problems with calling helpers using $this->Helper(); Maybe looking at 
> > the Zend_View __call() would help?
> > 
> > In my helpers I use:
> > 
> > Public $view;
> >     /**
> >      * Internal used by zend_view, to send
> >      * a reference of the view to the helper.
> >      *
> >      * @param view $view
> >      */
> >     public function setView( $view )
> >     {
> >         $this->view = $view;
> >     } 
> > 
> > Zend_View then sets a reference to view in the helper so I can access the 
> > view class variables.
> > 
> > Not sure if this is what you mean but I hope it helps :)
> > -----Original Message-----
> > From: Dan Rossi [mailto:[EMAIL PROTECTED] 
> > Sent: 07 August 2007 14:31
> > To: [email protected]
> > Subject: Re: [fw-general] View helper problem
> > 
> > Thanks matt sorry about that. Ive implemented a custom View class for 
> > rendering pear's html_template_flexy templates as its more designer 
> > friendly. Im having an issue there where its compiling its templates with 
> > method_exists so call doesnt get run. When i try $this->method $this is 
> > calling the template class , it seems $t is compiled as the view pointer 
> > so $t->method() works.
> > 
> > My problem with these helper classes now though is, i needed these methods 
> > to output things like a custom image or button image. But these are 
> > reliant on some session variables, so i guess i have to get the session 
> > from the $this->view class which i set it from a registry correct ?
> > 
> > Matthew Weier O'Phinney wrote:
> >   
> > > -- Dan Rossi <[EMAIL PROTECTED]> wrote (on Tuesday, 07 August 
> > > 2007, 11:06 PM +1000):
> > >   
> > >     
> > > > Hi ive gone through all the documentation to create a view helper, so 
> > > > i can call some methods in the view scripts however call never gets 
> > > > run , im still getting this "Call to undefined method"
> > > >    
> > > Hard to diagnose without the following:
> > > 
> > >   * the view helper
> > >   * a view script where you attempt to call the view helper
> > > 
> > > Please provide these, and I'll see if I can diagnose the issue.

-- 
Matthew Weier O'Phinney
PHP Developer            | [EMAIL PROTECTED]
Zend - The PHP Company   | http://www.zend.com/

Reply via email to