爲什麼要動態生成路由?你不能創建一個允許斜槓模式的單一路線嗎?
我製作了一個使用Symfony2的類似CMS,我使用StofDoctrineExtensionsBundle(看看Tree
和Sluggable
)。
我Document
實體有以下字段以支持樹狀結構:
/**
* @Gedmo\TreeLeft
* @ORM\Column(name="`left`", type="integer")
*/
private $left;
/**
* @Gedmo\TreeLevel
* @ORM\Column(name="level", type="integer")
*/
private $level;
/**
* @Gedmo\TreeRight
* @ORM\Column(name="`right`", type="integer")
*/
private $right;
/**
* @Gedmo\TreeRoot
* @ORM\Column(name="root", type="integer", nullable=true)
*/
private $root;
/**
* @Gedmo\TreeParent
* @ORM\ManyToOne(targetEntity="Page", inversedBy="children")
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
*/
private $parent;
/**
* @ORM\OneToMany(targetEntity="Page", mappedBy="parent")
* @ORM\OrderBy({"left" = "ASC"})
*/
private $children;
而一個slug
場反映了層次:
/**
* @var string $slug
*
* @ORM\Column(name="slug", type="string", length=255, unique=true)
* @Gedmo\Slug(handlers={
* @Gedmo\SlugHandler(class="Gedmo\Sluggable\Handler\TreeSlugHandler", options={
* @Gedmo\SlugHandlerOption(name="parentRelationField", value="parent"),
* @Gedmo\SlugHandlerOption(name="separator", value="/")
* })
* }, fields={"title"})
*/
private $slug;
這不是你想要的?
我不確定,我更新了問題 – ramoo 2012-01-13 11:20:35