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