2013-04-23 2 views
1

나는 symfony2에 Kunstmaan bundles을 사용하고 하나의 문제가 있습니다. 현재 카탈로그 번들을 만들려고하고 있는데 모든 것이 okey처럼 보이지만 각 제품에 대한 메뉴 항목을 만들고 싶지 않습니다./en/catalog/* 메뉴 항목의 slug-title 항목을 사용하여 동적으로 제품에 액세스하는 것이 좋습니다. 그게 어떻게 가능해?카탈로그 항목에 대한 동적 라우터를 만드는 방법

+0

http://symfony.com/doc/2.1/book/routing.html을 보시기 바랍니다. 첫 번째 예는 문제에 관한 것입니다. – Michi

답변

1

가장 빠르고 쉬운 방법으로 제품을 카탈로그의 하위 페이지로 정의 할 수 있습니다. KunstmaanNodeBundle이 슬러그를 처리합니다. 당신은 당신의 카탈로그 페이지에서 하위 페이지와 같은 제품을 만들 수 있습니다

public function getPossibleChildTypes() 
{ 
    return array (
     array(
      'name' => 'Product', 
      'class'=> "Acme\CatalogBundle\Entity\Product" 
     ) 
    ); 
} 

이 방법 : 당신의 카탈로그 클래스에서

는 getPossibleChildTypes 메소드를 오버라이드 (override) (나는 그것이 AbstractPage를 확장 가정). 그런 다음 카탈로그 페이지의 나뭇 가지 템플릿에서 카탈로그의 하위 항목을 가져와야합니다.

단점은 단순한 엔티티가 아닌 각 제품이 자체적으로 (버전 관리가 포함 된) 페이지라는 것입니다.

3

같은 문제가 발생했습니다 ... 메뉴 항목이지만 부모가 null 인 카탈로그 항목을 만들어 나무에 나타나지 않도록이 문제를 해결하려고합니다. 이렇게하면 버전 관리 시스템과 모든 기능을 사용할 수 있지만 카탈로그 항목이 많을 때 트리가 느려지지는 않습니다. AdminListBundle (https://github.com/Kunstmaan/KunstmaanAdminListBundle)

이러한 카탈로그 항목을 특정 개요 페이지에 연결하려면 chainrouter (https://github.com/Kunstmaan/KunstmaanNodeBundle/blob/master/Resources/doc/NodeBundle.md)를 사용하고 있습니다. 당분간 우리는 이것에 대한 명확한 예를 가지고 있지 않지만 어쩌면 이것은 당신을 시작할 수 있습니까? 우리는 chainrouter를 더 쉽게 사용하려고 노력하고 있지만 아직 건설 중입니다. https://github.com/Kunstmaan/KunstmaanNodeBundle/pull/38/files

관련 문제