- 1
[Opened] [RESOLU] Response personnalisée : classe jResponseHtml introuvable
Posted by cowa on 02/11/2008 14:07
Bonjour !
Petit souci lorsque j'essaie de surcharger la classe jResponseHtml...
default.classic.php
<?php class defaultCtrl extends jController { function index() { $rep = $this->getResponse('site'); return $rep; } } ?>
siteResponse.class.php
<?php class siteResponse extends jResponseHtml { } ?>
config.ini.php
;<?php die(''); ?> ;for security reasons , don't remove or modify the first line startModule = "site" startAction = "default:index" [plugins] ;nom = nom_fichier_ini [responses] site = siteResponse [urlengine] ; name of url engine : "simple" or "significant" [urlengine] engine = "significant" enableParser = "on" basePath = jelix/admin/www
Bref, tout bête, et j'ai une erreur de classe introuvable.
Fatal error: require_once() [[function.require]]: Failed opening required '/homepages/5/d225460133/htdocs/jelix/lib/jelix/utils/jResponseHtml.class.php' (include_path='.:/usr/local/lib/php5') in /homepages/5/d225460133/htdocs/jelix/lib/jelix/init.php on line 1620
[Opened] Re: Response personnalisée : classe jResponseHtml introuvable
Posted by laurentj on 02/11/2008 14:31
bah il faut faire un include... cf l'exemple de la doc.
[Opened] Re: Response personnalisée : classe jResponseHtml introuvable
Posted by cowa on 02/11/2008 15:25
Ah oui merci...
require_once (JELIX_LIB_RESPONSE_PATH.'jResponseHtml.class.php');
Bref, j'ai un nouveau souci :P
default.classic.php
function index() { $rep = $this->getResponse('site'); $vehiculeDao = jDao::get("annonce~vehicule"); $vehicules = $vehiculeDao->getVehiculesPublies(); $rep->body->assignZone('CONTENU','contenuAnnonces', array('listeVehicules'=>$vehicules)); return $rep; }
contenuAnnonces.zone.php
<? class contenuAnnoncesZone extends jZone { protected $_tplname='contenu_annonces'; protected function _prepareTpl() { } } ?>
Quand je fais dans contenu_annonces.tpl
un {if $listeVehicules->rowCount()}
, j'ai :
Fatal error: Call to a member function rowCount() on a non-object in /homepages/5/d225460133/htdocs/jelix/temp/admin/compiled/templates/modules/site/main_index_html_t.php on line 63
La variable listeVehicules est bien settée car je l'utilisais avant, sans les zones.
Edit : j'ai aussi l'erreur en faisant ça dans contenuAnnonces.zone.php
<? class contenuAnnoncesZone extends jZone { protected $_tplname='contenu_annonces'; protected function _prepareTpl() { $vehiculeDao = jDao::get("annonce~vehicule"); $vehicules = $vehiculeDao->getVehiculesPublies(); $this->_tpl->assign('listeVehicules', $vehicules); } } ?>
[Opened] Re: Response personnalisée : classe jResponseHtml introuvable
Posted by cowa on 02/11/2008 23:21
Non, le DAO fonctionne bien.
En fait, quand je fais
$rep->body->assign('listeVehicules', $vehicules);
Ca fonctionne.
Mais pas
$rep->body->assignZone('CONTENU','contenuAnnonces', array('listeVehicules'=>$vehicules));
[Opened] Re: Response personnalisée : classe jResponseHtml introuvable
Posted by cowa on 02/11/2008 23:53
Non ben c'est bon ça marche comme ça, à force de tester et retester, je pense que mon template était mal fait.
Merci, bonne soirée !
- 1