@@ -68,7 +68,89 @@ MenuNodeReferrersInterface Sonata Admin Extension
68
68
The menu admin integration provides an extension to edit referring menu nodes
69
69
for content that implements the ``MenuNodeReferrersInterface ``.
70
70
71
- To enable the extension in your admin classes, define the extension in the
71
+ The extension can be separately disabled and you can define the form group and
72
+ tab to be used by the field this extension adds:
73
+
74
+ .. configuration-block ::
75
+
76
+ .. code-block :: yaml
77
+
78
+ # app/config/config.yml
79
+ cmf_sonata_phpcr_admin_integration :
80
+ bundles :
81
+ menu :
82
+ extensions :
83
+ menu_node_referrers :
84
+ enabled : true
85
+ form_group : form.group_menus
86
+ form_tab : form.tab_menu
87
+
88
+ .. code-block :: xml
89
+
90
+ <!-- app/config/config.xml -->
91
+ <?xml version =" 2.0" encoding =" UTF-8" ?>
92
+ <container xmlns =" http://symfony.com/schema/dic/services"
93
+ xmlns : xsd =" http://www.w3.org/2001/XMLSchema-instance"
94
+ xsd : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
95
+ http://cmf.symfony.com/schema/dic/sonata_admin_integration http://cmf.symfony.com/schema/dic/sonata_admin_integration/sonata_admin_integration.xsd"
96
+ >
97
+
98
+ <config xmlns =" http://cmf.symfony.com/schema/dic/sonata_admin_integration" >
99
+ <bundles >
100
+ <menu >
101
+ <extensions >
102
+ <menu-node-referrers
103
+ enabled =" true"
104
+ form-group =" form.group_menus"
105
+ form-tab =" form.tab_menu"
106
+ />
107
+ </extensions >
108
+ </bundles >
109
+ </config >
110
+ </container >
111
+
112
+ .. code-block :: php
113
+
114
+ // app/config/config.php
115
+ $container->loadFromExtension('cmf_sonata_phpcr_admin_integration', [
116
+ 'bundles' => [
117
+ 'menu' => [
118
+ 'extensions' => [
119
+ 'menu_node_referrers' => [
120
+ 'enabled' => true,
121
+ 'form_group' => 'form.group_menus',
122
+ 'form_tag' => 'form.tab_menu',
123
+ ],
124
+ ],
125
+ ],
126
+ ],
127
+ ]);
128
+
129
+ ``enabled ``
130
+ ~~~~~~~~~~~
131
+
132
+ **type **: ``bool `` **default **: ``true ``
133
+
134
+ If ``false ``, the extension is not loaded at all to save resources.
135
+
136
+ ``form_group ``
137
+ ~~~~~~~~~~~~~~
138
+
139
+ **type **: ``string `` **default **: ``form.group_menus ``
140
+
141
+ .. include :: ../_partials/sonata_admin_form_group.rst.inc
142
+
143
+ ``form_tab ``
144
+ ~~~~~~~~~~~~
145
+
146
+ **type **: ``string `` **default **: ``form.tab_menu ``
147
+
148
+ .. include :: ../_partials/sonata_admin_form_tab.rst.inc
149
+
150
+ Using the extension
151
+ ~~~~~~~~~~~~~~~~~~~
152
+
153
+ To use the extension in your admin classes, define the extension in the
72
154
``sonata_admin `` section of your project configuration:
73
155
74
156
.. configuration-block ::
@@ -122,72 +204,97 @@ MenuOptionInterface Sonata Admin Extension
122
204
This menu admin integration provides an extension that allows user to edit
123
205
different menu options using the Sonata admin interface.
124
206
125
- To enable the extension in your admin classes, define the extension
126
- configuration in the `` sonata_admin `` section of your project configuration :
207
+ The extension can be separately disabled and you can define the form group and
208
+ tab to be used by the field this extension adds :
127
209
128
210
.. configuration-block ::
129
211
130
212
.. code-block :: yaml
131
213
132
214
# app/config/config.yml
133
- sonata_admin :
134
- # ...
135
- extensions :
136
- cmf_sonata_phpcr_admin_integration.menu.extension.menu_options :
137
- implements :
138
- - Symfony\Cmf\Bundle\MenuBundle\Model\MenuOptionsInterface
215
+ cmf_sonata_phpcr_admin_integration :
216
+ bundles :
217
+ menu :
218
+ extensions :
219
+ menu_options :
220
+ enabled : true
221
+ advanced : false
222
+ form_group : form.group_menu_options
223
+ form_tab : form.tab_general
139
224
140
225
.. code-block :: xml
141
226
142
227
<!-- app/config/config.xml -->
143
- <?xml version =" 1.0" encoding =" UTF-8" ?>
144
- <container xmlns =" http://cmf.symfony.com/schema/dic/services"
145
- xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
146
- xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
228
+ <?xml version =" 2.0" encoding =" UTF-8" ?>
229
+ <container xmlns =" http://symfony.com/schema/dic/services"
230
+ xmlns : xsd =" http://www.w3.org/2001/XMLSchema-instance"
231
+ xsd : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
232
+ http://cmf.symfony.com/schema/dic/sonata_admin_integration http://cmf.symfony.com/schema/dic/sonata_admin_integration/sonata_admin_integration.xsd"
233
+ >
147
234
148
- <config xmlns =" http://sonata-project.org/schema/dic/admin" >
149
- <!-- ... -->
150
- <extension id =" cmf_sonata_phpcr_admin_integration.menu.extension.menu_options" >
151
- <implements >Symfony\Cmf\Bundle\MenuBundle\Model\MenuOptionsInterface</implements >
152
- </extension >
235
+ <config xmlns =" http://cmf.symfony.com/schema/dic/sonata_admin_integration" >
236
+ <bundles >
237
+ <menu >
238
+ <extensions >
239
+ <menu-options
240
+ enabled =" true"
241
+ advanced =" false"
242
+ form-group =" form.group_menu_options"
243
+ form-tab =" form.tab_general"
244
+ />
245
+ </extensions >
246
+ </bundles >
153
247
</config >
154
248
</container >
155
249
156
250
.. code-block :: php
157
251
158
252
// app/config/config.php
159
- use Symfony\Cmf\Bundle\MenuBundle\Model\MenuOptionsInterface;
160
-
161
- $container->loadFromExtension('sonata_admin', [
162
- 'extensions' => [
163
- 'cmf_sonata_phpcr_admin_integration.menu.extension.menu_options' => [
164
- 'implements' => [
165
- MenuOptionsInterface::class,
253
+ $container->loadFromExtension('cmf_sonata_phpcr_admin_integration', [
254
+ 'bundles' => [
255
+ 'menu' => [
256
+ 'extensions' => [
257
+ 'menu_options' => [
258
+ 'enabled' => true,
259
+ 'advanced' => false,
260
+ 'form_group' => 'form.group_menu_options',
261
+ 'form_tag' => 'form.tab_general',
262
+ ],
166
263
],
167
264
],
168
265
],
169
266
]);
170
267
171
- See the `Sonata Admin extension documentation `_ for more information.
268
+ ``enabled ``
269
+ ~~~~~~~~~~~
172
270
173
- The extension makes these options editable (advanced options require additional
174
- setup, see below):
271
+ **type **: ``bool `` **default **: ``true ``
175
272
176
- * Display;
177
- * Display children;
178
- * Menu attributes (advanced);
179
- * Label attributes (advanced);
180
- * Children attributes (advanced);
181
- * Link attributes (advanced).
273
+ If ``false ``, the extension is not loaded at all to save resources.
182
274
183
- See the ` KnpMenuBundle documentation `_ for more information about the meaning
184
- of those attributes.
275
+ `` form_group ``
276
+ ~~~~~~~~~~~~~~
185
277
186
- Advanced Menu Options
187
- ~~~~~~~~~~~~~~~~~~~~~
278
+ **type **: ``string `` **default **: ``form.group_menu_options ``
279
+
280
+ .. include :: ../_partials/sonata_admin_form_group.rst.inc
281
+
282
+ ``form_tab ``
283
+ ~~~~~~~~~~~~
284
+
285
+ **type **: ``string `` **default **: ``form.tab_general ``
286
+
287
+ .. include :: ../_partials/sonata_admin_form_tab.rst.inc
288
+
289
+ ``advanced ``
290
+ ~~~~~~~~~~~~
291
+
292
+ **type **: ``boolean `` **default **: ``false ``
293
+
294
+ This activates advanced editing options for menu nodes. Without the extension,
295
+ the only editable options are **Display ** and **Display Children **.
188
296
189
- By default the only available options are **Display ** and **Display Children **.
190
- You can enable advanced options, but need to add the BurgovKeyValueFormBundle _
297
+ To enable advanced options, you need to add the BurgovKeyValueFormBundle _
191
298
to your project. Run ``composer require burgov/key-value-form-bundle ``,
192
299
instantiate the bundle in the kernel and extend the template
193
300
``SonataAdminBundle:Form:form_admin_fields.html.twig `` to add:
@@ -201,17 +308,23 @@ instantiate the bundle in the kernel and extend the template
201
308
Once you enabled the bundle, you can enable the advanced menu options in your
202
309
configuration:
203
310
311
+ Using the extension
312
+ ~~~~~~~~~~~~~~~~~~~
313
+
314
+ To enable the extension in your admin classes, define the extension
315
+ configuration in the ``sonata_admin `` section of your project configuration:
316
+
204
317
.. configuration-block ::
205
318
206
319
.. code-block :: yaml
207
320
208
321
# app/config/config.yml
209
- cmf_sonata_phpcr_admin_integration :
210
- bundles :
211
- menu :
212
- extensions :
213
- menu_options :
214
- advanced : true
322
+ sonata_admin :
323
+ # ...
324
+ extensions :
325
+ cmf_sonata_phpcr_admin_integration.menu.extension.menu_options :
326
+ implements :
327
+ - Symfony\Cmf\Bundle\MenuBundle\Model\MenuOptionsInterface
215
328
216
329
.. code-block :: xml
217
330
@@ -221,33 +334,44 @@ configuration:
221
334
xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
222
335
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
223
336
224
- <config xmlns =" http://cmf.symfony.com/schema/dic/sonata-phpcr-admin-integration" >
225
- <bundles >
226
- <menu >
227
- <extensions >
228
- <menu-options advanced =" true" >
229
- </extensions >
230
- </menu >
231
- </bundles >
337
+ <config xmlns =" http://sonata-project.org/schema/dic/admin" >
338
+ <!-- ... -->
339
+ <extension id =" cmf_sonata_phpcr_admin_integration.menu.extension.menu_options" >
340
+ <implements >Symfony\Cmf\Bundle\MenuBundle\Model\MenuOptionsInterface</implements >
341
+ </extension >
232
342
</config >
233
-
234
343
</container >
235
344
236
345
.. code-block :: php
237
346
238
347
// app/config/config.php
239
- $container->loadFromExtension('cmf_sonata_phpcr_admin_integration', [
240
- 'bundles' => [
241
- 'menu' => [
242
- 'extensions' => [
243
- ' menu_options' => [
244
- 'advanced ' => true,
245
- ] ,
348
+ use Symfony\Cmf\Bundle\MenuBundle\Model\MenuOptionsInterface;
349
+
350
+ $container->loadFromExtension('sonata_admin', [
351
+ 'extensions' => [
352
+ 'cmf_sonata_phpcr_admin_integration.menu.extension. menu_options' => [
353
+ 'implements ' => [
354
+ MenuOptionsInterface::class ,
246
355
],
247
356
],
248
357
],
249
358
]);
250
359
360
+ See the `Sonata Admin extension documentation `_ for more information.
361
+
362
+ The extension makes the following options editable (advanced options require additional
363
+ setup, see above):
364
+
365
+ * Display;
366
+ * Display children;
367
+ * Menu attributes (advanced);
368
+ * Label attributes (advanced);
369
+ * Children attributes (advanced);
370
+ * Link attributes (advanced).
371
+
372
+ See the `KnpMenuBundle documentation `_ for more information about the meaning
373
+ of those attributes.
374
+
251
375
.. _`Sonata Admin extension documentation` : https://sonata-project.org/bundles/admin/master/doc/reference/extensions.html
252
376
.. _SonataDoctrinePHPCRAdminBundle : https://sonata-project.org/bundles/doctrine-phpcr-admin/master/doc/index.html
253
377
.. _`the sonata admin documentation` : https://sonata-project.org/bundles/doctrine-phpcr-admin/master/doc/reference/configuration.html
0 commit comments