2015-02-02 6 views
1

단계별로 모든 소나타 번들을 설치했습니다. 이미지 삭제와 같은 일부 작업을 수정하기위한 오류가 거의 없습니다. 지금 직면하고있는 모든 오류는 관련이있는 것으로 보입니다.Sonata, Sf2 : route/classification/context/create에서 "ifTrue"메서드를 호출하려고 시도했습니다.

SonataMediaBundleSonataClassificationBundle 중 하나를 제출했습니다.

"Sonata \ AdminBundle \ Form \ FormMapper"클래스에서 "ifTrue"메서드를 호출하려고 시도했습니다. 라인 27

에서 공급 업체/소나타 프로젝트에 /분류-번들/관리/ContextAdmin.php 나는 "../edit"를 "//분류/컨텍스트 생성"경로에 액세스하거나려고 할 때 .

protected function configureFormFields(FormMapper $formMapper) 
{ 
    $formMapper 
     ->ifTrue($this->getSubject()->getId() === null) 
     ->add('id') 
     ->ifEnd() 
     ->add('name') 

1 - DEBUG - 라우터 소나타 \ PageBundle \ 경로 \ CmsPageRouter는 메시지

는 "정의 된 사이트가"제가해야 생각하지 않는다 "어떤 사이트가 정의되지"일치 수 없습니다 그걸로 뭔가를해라. 나는 데이터베이스에 추가 된 SonataPageBundle을 사용하여 기본 페이지를 만들었습니다. 구성에 추가 할 특정 매개 변수가 있는지 모르겠습니다. 내가 단계별로 문서화 단계를 따랐다 고 말했고 나는 사이트 정의와 관련된 것을 보지 못했다. 그러나 "no site defined"가 주 오류와 관련이 있는지 확실하지 않습니다.

여기 내 작곡가 .json 유용한 경우가 있습니다.

"require": { 
    "php": ">=5.3.3", 
    "symfony/symfony": "2.6.", 
    "doctrine/orm": "~2.2,>=2.2.3", 
    "doctrine/doctrine-bundle": "~1.2", 
    "twig/extensions": "~1.0", 
    "symfony/assetic-bundle": "~2.3", 
    "symfony/swiftmailer-bundle": "~2.3", 
    "symfony/monolog-bundle": "~2.4", 
    "sensio/distribution-bundle": "~3.0.12", 
    "sensio/framework-extra-bundle": "~3.0", 
    "incenteev/composer-parameter-handler": "~2.0", 
    "sonata-project/core-bundle": "[email protected]", 
    "sonata-project/notification-bundle": "~2.3", 
    "knplabs/knp-markdown-bundle": "~1.2", 
    "videlalvaro/php-amqplib": "~2.4", 
    "liip/monitor-bundle": "~2.0", 
    "symfony-cmf/routing-bundle": "[email protected]", 
    "jms/serializer-bundle": "0.13.*@dev", 
    "sonata-project/formatter-bundle": "~2.3", 
    "sonata-project/markitup-bundle": "~2.1", 
    "sonata-project/intl-bundle": "~2.2", 
    "sonata-project/cache-bundle": "~2.2", 
    "sonata-project/seo-bundle": "~1.1", 
    "sonata-project/easy-extends-bundle": "~2.1", 
    "sonata-project/admin-bundle": "~2.3", 
    "sonata-project/doctrine-orm-admin-bundle": "~2.3", 
    "sonata-project/user-bundle": "~2.2", 
    "sonata-project/classification-bundle": "dev-master", 
    "sonata-project/news-bundle": "dev-master", 
    "sonata-project/timeline-bundle": "[email protected]", 
    "sonata-project/media-bundle": "[email protected]", 
    "sonata-project/page-bundle": "[email protected]" 
} 

모든 해결책이나 힌트가 필요하십니까?

답변

1

ifTrue 또는 ifFalse 메서드는 SonataAdminBundle 2.4 릴리스에 착수 할 예정입니다.번들의 안정 버전을 사용하십시오.

+0

그래, 최신 안정을 얻으려면 https://packagist.org/packages/sonata-project/를 사용하십시오. 도와 주셔서 감사합니다. – Brieuc

+0

모든 문제를 해결했습니다. 고맙습니다! – Brieuc

1

ifTrue 메소드가 FormMapper 클래스에 존재하지 않습니다 : https://github.com/sonata-project/SonataAdminBundle/blob/2.3/Form/FormMapper.php.

어디에서 사용할 수 있는지 잘 모르겠습니다.

대신이 작업을 수행해야한다 : 당신이 ID를 정의 할 이유

protected function configureFormFields(FormMapper $formMapper) 
{ 
    if ($this->getSubject()->getId() === null) { 
     $formMapper->add('id'); 
    } 
    $formMapper 
     ->add('name') 
} 

는 또한 나도 몰라, 자동으로 생성 설정해야하는데. 두 번째 오류에 대한

는 예외이 클래스 https://github.com/sonata-project/SonataPageBundle/blob/2.3.8/Route/CmsPageRouter.php#L158에서 온다, 나는이 번들을 사용한 적이하지만 내 첫번째 추측은 당신이 사이트 생성하는 것을 잊었다이다

php app/console sonata:page:create-site 

자세한 내용은 문서에서 설명을 : http://sonata-project.org/bundles/page/master/doc/reference/getting_started.html

+0

좋아, 분명히 안정 버전을 사용하지 않으므로 ifTrue가 소나타 버전 2.4에 있기 때문에 아직 존재하지 않는다는 것이 정상입니다. 두 번째 오류에 대한 페이지 (php app/console sonata : page : create-site)를 만들고 기본값으로 설정했습니다. 그것이 내가 어떤 변화도 가져 오지 않았기 때문에 그것이 정말로 혼란스러워지는 이유입니다. 도움 주셔서 감사합니다. – Brieuc

+0

번들의 안정 버전에서도 두 번째 오류가 수정되었습니다. – Brieuc

1

[편집] 잘못된 주석 참조 : https://github.com/sonata-project/SonataAdminBundle/pull/2664/files

ifTrueifFalse 방법 미만 몽의 마스터 지점에 있었다 h이고 이제 제거됩니다. 참조하는 코드가 업데이트 된 것 같지 않습니다.

안정 버전을 사용하거나 WIP 버그가있을 수 있습니다.

+1

죄송합니다. 잘못되었습니다. 메소드는''if_true''와''if_false''라는 이름으로 코딩 표준과 호환되지 않기 때문에''ifTrue''와''ifFalse''로 이름이 변경되었습니다. – rande