Hi Craig, I have had the same problem for my forum like application. I am using the sfNestedSetPlugin to store the tree. Besides the title column I store a routing_rule column with it. That gets calculated like this:
const SEPARATOR ="-"; public function getRoutableTitle() { $v=utf8_decode($this->getTitle()); $skipChars = array("&", "/", "-"); $v = str_replace($skipChars, "", $v); $v = str_replace(array("Ö","ö","Ä","ä","Ü","ü","ß"), array("Oe","oe","Ae","ae","Ue","ue","ss"),$v); $v = preg_replace("/\s+/i","_",$v); return $v; } public function rebuildRoutingRule() { $routingRule=''; if($this->hasParent()) $routingRule.= $this->retrieveParent()->getRoutingRule(); if($routingRule) $routingRule.=self::SEPARATOR; $routingRule.=$this->getRoutableTitle(); $this->setRoutingRule($routingRule); } The first method converts the title in something that is good for a URL, the browser would be able to hand over spaces and umlauts but I dont like the look of the url after the page has loaded so I prevent this. As I know the characters appearing in the title this is okay, would perhaps need some more tricks when it would be completely open. So in your case the "routing rule" would look like this: Clients-Client1-Project1 Now you can use this for your urls /section/Clients-Client1-Project1 Which you can easily get and then internally use again to look up the real id of the section by just querying the routing_rule column .: Fabian -----Original Message----- From: [EMAIL PROTECTED] om [mailto:[EMAIL PROTECTED] groups.com] On Behalf Of Craig Boxall Sent: Samstag, 31. März 2007 04:26 To: symfony-users@googlegroups.com Subject: [symfony-users] Routing Question Hi, Im creating a simple content management system where you can assign an item of content having a parent. This is to simulate a tree-like content structure So for example I want this kind of thing to work: - Home - Clients - Client1 - Project1 - Project2 - Project3 -Client2 - Project1 - About Us etc etc Now, I have a module called content with an action called show so to get an Item to show i would use at the moment. /content/show?title=Project1 Using a routing rule, I now display that as just /Project1 But what I really want is: /Clients/Client1/Project1 How do I achieve this? In the database, I am storing the id of the parent so for example, the id for Clients is 2, the id for Client 1 is 7 and the id for Project 1 is 8 Maybe do some kind of recursive call? I dunno... ANy help is appreciated Cheers Craig --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---