Uygulamam projelerin listesini, proje ayrıntı sayfalarını ve bu projeleri düzenlemek için formları gösterir. Bu rotalar şunlardır: - Projelerin listesi Symfony2: İzinlere bağlı olarak Twig'deki bağlantıyı gizleme
- /düzenle projesi
Sadece sahibi bir projeyi düzenleyebilir.
Sahip olmayanlar için/project/42/edit'e erişimi engellemek için bir Voter uyguladım.
Şimdi, proje detay sayfasından "proje düzenle" bağlantısını da gizlemek istiyorum. Bunu yapmanın yolu ne olurdu? İdeal olarak, Twig içinde, ben bir Twig uzantısı olarak bu işlevi uygulayabilir
{% if may_access(path('project_edit', { 'id': project.id })) %} <a href="{{ path('project_edit', { 'id': project.id }) }}">edit project</a> {% endif %}
böyle bir şey yapmak istiyorum, ama belki benzer bir işlevi zaten var.
Lütfen herhangi bir kişi hack yapamazsınız. Denetleyicinizin de uygun yönlendirmelere sahip olduğundan emin olun. – Lighthart
Güzel iş. Dikkat edilecek tek şey, eğer $ this-> show ($ project); 'sadece proje sayfasıyla aynı görüşü geri döndürüyor (/ project/42). Bu rotaya 302 yönlendirme kullanmak en iyi ihtimalle olacaktır. – Paulpro
Ah, üzgünüm, $ this-> show ($ project) aslında $ this-> yönlendirme ($ this-> generateUrl ('project_show', array ('id' => $ project- $) döndüren küçük bir yardımcıdır > getId()))); – Olav