2017-05-10 4 views
0

Ich versuche ACL zu implementieren, um Kommentare auf FOSCommentBundle zu Benutzerrolle einzuschränken. Ich folgte Schritt für Schritt dem Bundles Doc, aber zeigt mir einen Fehler:Die Definition für "acl" hat keine Klasse

Die Definition für "acl" hat keine Klasse.

Thats my app/config/config.yml

fos_comment: 
db_driver: orm 
class: 
    model: 
     comment: BackEndBundle\Entity\Comment 
     thread: BackEndBundle\Entity\Thread 
     vote: BackEndBundle\Entity\Vote  

acl: true 
service: 
    acl: 
     thread: fos_comment.acl.thread.roles 
     comment: fos_comment.acl.comment.roles 
     vote: fos_comment.acl.vote.roles 
    manager: 
     thread: fos_comment.manager.thread.acl 
     comment: fos_comment.manager.comment.acl 
     vote: fos_comment.manager.vote.acl 

acl_roles: 
    comment: 
     create: IS_AUTHENTICATED_ANONYMOUSLY 
     view: IS_AUTHENTICATED_ANONYMOUSLY 
     edit: ROLE_ADMIN 
     delete: ROLE_ADMIN 
    thread: 
     create: IS_AUTHENTICATED_ANONYMOUSLY 
     view: IS_AUTHENTICATED_ANONYMOUSLY 
     edit: ROLE_ADMIN 
     delete: ROLE_ADMIN 
    vote: 
     create: IS_AUTHENTICATED_ANONYMOUSLY 
     view: IS_AUTHENTICATED_ANONYMOUSLY 
     edit: ROLE_ADMIN 
     delete: ROLE_ADMIN  
assetic: 
    bundles: [ "FOSCommentBundle" ] 

Ich dachte, dass symfony3 nicht die ACL installiert haben, so habe ich versucht, mit Befehlen, sondern gibt mir den gleichen Fehler „Die Definition für "acl" hat keine Klasse ".

Thats my app/config/services.yml

parameters:  

services: 
    acl: 
     connection: default 

Antwort

1

Sie müssen ACL nicht hinzufügen Konfiguration app/config/services.yml. Das Bundle, in diesem Fall FOSCommentBundle, hat eine eigene Konfigurationsdatei für Dienste.

einfach das Bündel über Composer installieren und fügen Sie das Bündel in AppKernel.php

$bundles = [ 
... 
new FOS\CommentBundle\FOSCommentBundle(), 
... 

Wenn Sie alle oben getan haben, entfernen Sie einfach das acl: connection: default von app/config/services.yml und es sollte funktionieren. Sie können überprüfen, ob FOSCommentBundle-Dienste von bin\console debug:container fos_comment verfügbar sind.

+0

Danke jetzt zeigen Sie keinen Fehler und funktioniert gut. Schaltflächen zum Bearbeiten und Löschen werden jedoch weiterhin nicht angezeigt. Ich werde es weiter versuchen Danke. – Pillow

Verwandte Themen