- php: >=5.4,
- doctrine/common: ~2.4,
- knplabs/knp-components: ~1.3,>=1.3.1,
- symfony/form: ~2.8|~3.0,
- symfony/http-kernel: ~2.8|~3.0,
- symfony/routing: ~2.8|~3.0,
- symfony/security: ~2.8|~3.0
- twig/twig: ~1.2
Through Composer as saxulum/saxulum-crud.
Use the following trait within your controller: Saxulum\Crud\Controller\CrudTrait.
crudName
: contains the lowercase name of the object, example:sample
crudObjectClass
: contains the class name of the object, example:Saxulum\Crud\Entity\Sample
crudRoutePattern
: contains a template pattern like:%s_%s
crudRolePattern
: contains a template pattern like:role_%s_%s
crudTemplatePattern
: contains a template pattern like:@SaxulumCrud/%s/%s.html.twig
crudAuthorizationChecker
: contains an instance of the symfony authorization checkercrudDoctrine
: contains an instance of the doctrine manager registrycrudPaginator
: contains an instance of a knp paginatorcrudFormFactory
: contais an instance of a symfony form factorycrudUrlGenerator
: contains an instance of symfony routing url generator: deprecated by symfony 2.7, usecrudSecurity
crudAuthorizationChecker
crudTwig
: contains an instance of the twig environment
Use the following extension to use label generation: Saxulum\Crud\Twig\FormLabelExtension.
Within the form template you can use something like this:
{% block form_label %}
{% spaceless %}
{% if label is empty %}
{% set label = prepareFormLabel(form) %}
{% endif %}
{{ parent() }}
{% endspaceless %}
{% endblock form_label %}
The form name is day_edit
, there is a collection field comestiblesWithinDay
with a subfield called comestible
. As you can see the _
within the name will
be replaced by a .
.
day:
edit:
label:
comestibles_within_day: Consumption
comestibles_within_day_collection.comestible: Comestible
Advanced names: If you want the underscore within the form name,
work with camel case. Which means someFormName_edit
will be converted to
some_form_name.edit
.