Thank you Daniel.
I renamed the two helpers the way you told and everything went fine.

Do you know why none of those two parameters in application.ini did work?
resources.view.helperPath.View_Helper_ = "application/modules/default/views/helpers"
resources.view.helperPath.View_Helper_ = "views/helpers"

Le 16/12/09 16:49, Daniel Latter a écrit :
Hi,

Im no expert but Ill point out what I can see.

First, the reason why you are only getting one error because the Profile helper has errors ( $this- view->url .. ) in it so my guess is this one is silently dying, fix the error and you will get 2 exceptions.

Second, if you want helpers to load automatically without setting your own name-spaced helper paths you need to name them appropriately, so in your case, providing they are in the folders you state, you would use Zend_View_Helper_CustomFooter, and Zend_View_Helper_Profile. If you do this both helpers should be found no probs.

Hope this helps.
Dan



2009/12/16 Guillaume ORIOL <gor...@technema.fr <mailto:gor...@technema.fr>>


    Hi,

    I encountered an error which relates to view helpers. The message says
    "Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message
    'Plugin by name 'CustomFooter' was not found in the registry". I don't
    understand why I get the error on one of the two helpers and not
    on the
    other.

    In my layout file, I render two scripts for header and footer.
    /* application/layouts/scripts/layout.phtml */
    ...
    <?php echo $this->render('header.phtml'); ?>
    <?php echo $this->layout()->content; ?>
    <?php echo $this->render('footer.phtml'); ?>
    ...

    In header.phtml, I use a view helper for user identification:
    <?php echo $this->profile(); ?>
    and in footer.phtml I use another view helper for adding a custom
    footer:
    <?php echo $this->customFooter(); ?>

    Here are those view helpers:
    /* application/modules/default/views/helpers/CustomFooter.php */
    class View_Helper_CustomFooter extends Zend_View_Helper_Abstract
    {
       public function customFooter()
       {
           $settings = new Model_Settings();
           $rowset = $settings->find(1);
           $row = $rowset->current();
           $footer = $row->footer;
           if ($footer) {
               return '<div id="customFooterWrapper">' . $footer .
    '</div>' .
    PHP_EOL;
           }
           return '';
       }
    }

    /* application/modules/default/views/helpers/Profile.php */
    class View_Helper_Profile extends Zend_View_Helper_Abstract
    {
       public function profile()
       {
           $auth = Zend_Auth::getInstance();
           if ($auth->hasIdentity()) {
               $id = $auth->getIdentity();
               return '<div id="identificationUser">'
                    . $this->view->escape($id->first_name) . ' '
                    . $this->view->escape($id->last_name) . ' '
                    . '</div>'
                    . ' "'
                    . $this- view->url(array('controller' => 'auth',
    'action'
    => 'logout'), 'default', false)
                    . '">logout ' . PHP_EOL;
           } else {
               return ' "'
                    . $this- view->url(array('controller' => 'auth',
    'action'
    => 'login'), 'default', false)
                    . '">login ' . PHP_EOL;
           }
       }
    }


    --
    View this message in context:
    
http://n4.nabble.com/one-of-two-view-helpers-cannot-be-found-tp965101p965101.html
    Sent from the Zend Framework mailing list archive at Nabble.com.

--

Guillaume ORIOL

Reply via email to