Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] UrlsHandler et db

Posted by julien j on 06/16/2008 15:54

Bonjour,

J'ai des problèmes pour mettre en place des url "signifiantes" sur mon site.

J'aimerais récupérer le nom de la page en fonction de l'id.

Tout fonctionne mais j'ai une erreur :

notice 1 : Trying to get property of non-object /home.10.16/julienj/chocolat/chocolat/modules/choco/classes/myhandler.urlhandler.php 34

la ligne c'est 34 : $titre = jUrl::escape($page->titre);

Même avec cette erreur mon URL est correct ($titre prend la bonne valeur)

Voila mon code :

  <?php
  
  class myhandlerUrlsHandler implements jIUrlSignificantHandler {
  
    function parse($url){
 
        if(preg_match("/^\/(.*)$/",$url->pathInfo,$match)){
          $urlact = new jUrlAction($url->params);
          $urlact->setParam('id',jUrl::unescape($match[1]));
          return $urlact;
        }else
          return false;
    }
    
    function create($urlact, $url){
  
        //id
        $id = $url->getParam('id');
  
        //Lang 
        $lang = $GLOBALS['gJConfig']->locale;
  
        //On récupère le titre
        $maFactory = jDao::get("admin~page");
        $page = $maFactory->get($id);
  
        $titre = jUrl::escape($page->titre);
 
        $url->pathInfo = "/$id-$titre";
        $url->delParam('id');
    }
  }
  
  ?>

Merci

Julien

  [Opened] Re: UrlsHandler et db

Reply #1 Posted by laurentj on 06/16/2008 18:05

Salut,

Désolé, je ne vois pas là. Si php dit qu'il n'y a rien dans $page->titre mais qu'il y a quand même quelque chose (puisque $titre vaut quelque chose d'aprés toi), c'est plutôt bizarre...

Refait des essais en vidant le cache de ton navigateur, du contenu du temp etc...

 
Page
  1. UrlsHandler et db