Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
bonjour,
j'utilise la méthode getBaseUrl() pour connaître la partie de l'URI que nous ne connaissons pas.
et voici l'affichage sur le navigateur :
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'BaseUrl' was not found in the registry; used paths: Zend_View_Helper_: Zend/View/Helper/:./application/views/helpers/' in /Applications/MAMP/htdocs/phbook/library/Zend/Loader/PluginLoader.php:386 Stack trace: #0 /Applications/MAMP/htdocs/phbook/library/Zend/View/Abstract.php(1067): Zend_Loader_PluginLoader->load('BaseUrl') #1 /Applications/MAMP/htdocs/phbook/library/Zend/View/Abstract.php(545): Zend_View_Abstract->_getPlugin('helper', 'baseUrl') #2 /Applications/MAMP/htdocs/phbook/library/Zend/View/Abstract.php(312): Zend_View_Abstract->getHelper('baseUrl') #3 [internal function]: Zend_View_Abstract->__call('baseUrl', Array) #4 /Applications/MAMP/htdocs/phbook/application/layouts/layout.phtml(8): Zend_View->baseUrl() #5 /Applications/MAMP/htdocs/phbook/library/Zend/View.php(107): include('/Applications/M...') #6 /Applications/MAMP/htdocs/phbook/library/Zend/View/Abstract.php(787): Zend_View->_run('./application/l...') #7 /Ap in /Applications/MAMP/htdocs/phbook/library/Zend/Loader/PluginLoader.php on line 386
et voici le CODE...
local/application/views/helpers/BaseUrl.phtml :
<?php
class Zend_View_Helper_BaseUrl {
function baseUrl() {
$fc = Zend_Controller_Front::getInstance();
// Récupération d'une instance du front controller
return $fc->getBaseUrl();
}
}
?>
local/application/layouts/layout.phtml :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title><?php echo $this->escape($this->title); ?></title>
<link rel="stylesheet" type="text/css" media="screen"
href="<?php //echo $this->baseUrl();?>./public/css/site.css" />
</head>
<body>
<div id="content">
<h1>layout.phtml : <?php echo $this->escape($this->title); ?></h1>
début : <?php echo $this->layout()->content; ?> et fin
</div>
</body>
local/public/css/site.css :
@CHARSET "UTF-8";
body,html {
font-size:100%;
margin: 0;
font-family: Verdana,Arial,Helvetica,sans-serif;
color: #000;
background-color: #fff;
}
h1 { ...
pourriez-vous m'aider à régler ce problème ? merci.
Dernière modification par Vincent (28-07-2009 17:08:58)
Hors ligne
Hello,
Renommes "local/application/views/helpers/BaseUrl.phtml" en "local/application/views/helpers/BaseUrl.php" et remplaces le code par :
<?php class Mes_View_Helper_BaseUrl extends Zend_View_Helper_Abstract { // ou implements Zend_View_Helper_Interface function baseUrl() { $fc = Zend_Controller_Front::getInstance(); // Récupération d'une instance du front controller return $fc->getBaseUrl(); } }
Regardes les aides de vues incluses dans le ZF pour t'inspirer.
Et associes le dossier "local/application/views/helpers/" à ta vue :
// Bootstrap ou plugin suivant ce que tu as déjà $view->addHelperPath('chemin/vers/local/application/views/helpers/', 'Mes_View_Helper');
A+
Hors ligne
MERCI
maintenant, ça fonctionne
Hors ligne
Merci bcp pour cette correction
Hors ligne
Pages: 1