2014-04-10 2 views
0

자습서 Creating a Basic CMS을 따르고 있으며, 내 사이트 문서 클래스에 대한 사용자 정의 이니셜 라이저를 만들 때 symfonycmf 요리 책 페이지에있는 문서는 doctrine/phpcr-bundle 1.0을 사용하고 있습니다. dev-master 1.1을 사용하고 있습니다. dev-master 버전을 사용하고있는 이유는 그 의존성이 잘 작동하기 때문입니다.doctrine/phpcr-bundle "dev-master"에서 사용자 정의 PHPCRBundle 이니셜 라이저를 작성하는 방법 : "1.1-dev"

+0

그리고 귀하의 질문/문제는 무엇입니까? –

+0

내 질문에 apoligize 내 질문의 제목은 어떻게 doctrine/phpcr-bundle "dev-master"에서 사용자 정의 PHPCRBundle 이니셜 라이저를 만드는지 : "1.1-dev"github 저장소가 있으면 거기에 대한 설명서가 없으므로 버전 1.0에서 제네릭 이니셜 라이저가 현재 마스터 버전과 상당히 다르다는 것을 알 수 있습니다. 버전 1.0에 대한 설명서는 내 질문에 링크되어 있습니다. 내 depencies는 dev-master에서만 작동하므로 현재 문서를 필요로합니다. 마스터 버전 – metalvarez

답변

0

조심스럽게 두 버전을 확인한 후에 두 버전의 차이점을 모두 알아 낸 후에 1.0 버전에서 Doctrine \ Bundle \ PHPCRBundle \ Initializer \ InitializerInterface가 init 메소드의 PCR \ SessionInterface 객체와 함께 주입됩니다. 그 세션 객체는 doctrin을위한 엔티티 관리자와 같습니다. e orm 나는 odm에서 presist하는 save 메소드를 수행하지만, 현재 마스터 버전에서는 인터페이스가 Doctrine \ Bundle \ PHPCRBundle \ ManagerRegistry를 삽입하고이 객체를 사용하여 $ session = $ registry-> getConnection(); 여기에 코드 예제가 있습니다. 당신과 심포니 CMF에서이 위대한 일에 대한 TEAN에

class SiteInitializer implements InitializerInterface { 


    public function init(ManagerRegistry $registry) { 

      $session = $registry->getConnection(); 
      NodeHelper::createPath($session, '/cms/pages'); 
      NodeHelper::createPath($session, '/cms/posts'); 
      NodeHelper::createPath($session, '/cms/routes'); 
      $session->save(); 
      $cms = $session->getNode('/cms'); 
      $cms->setProperty(
       'phpcr:class', 'Acme\BasicCmsBundle\Document\Site' 
     ); 

      $session->save(); 

    } 
} 

@dbu의 덕분에, 난 당신이 질문을 확인 할 수 있기를 바랍니다 당신이 오류 또는 실수를 발견하면 우리가 뭔가를 잘못하고있는 경우에 저희를 수정하시기 바랍니다.

+0

이 작동하는 동안 phpcr 세션 대신 레지스트리를 주입하는 지점에서 문서 관리자를 사용하여 문서를 직접 작성할 수있었습니다. symfony-cmf-docs 저장소에서 PR을 할 수 있다면 https://github.com/symfony-cmf/SimpleCmsBundle/blob/master/Initializer/HomepageInitializer.php#L38-L54 – dbu

+0

btw를 참조하십시오. 높게 평가받습니다. – dbu

+0

의사가 매우 깨끗하지는 않았지만 상황을 개선하기 위해 홍보를 수행했습니다. https://github.com/symfony-cmf/symfony-cmf-docs/pull/446 – dbu