Skip to content

Commit 9b08016

Browse files
committed
feat(enablement): Add env variables to enable/disable UI Elements
1 parent 0ce480d commit 9b08016

File tree

3 files changed

+65
-3
lines changed

3 files changed

+65
-3
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,35 @@ monsieurbiz_sylius_richeditor:
194194
enabled: false
195195
```
196196

197+
#### Disable UI Elements via environment variables
198+
199+
Each UI Element can be enabled or disabled using environment variables. This is useful for managing UI Elements across different environments without modifying configuration files.
200+
201+
```yaml
202+
# Example: Disable the YouTube element via environment variable
203+
MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_YOUTUBE_ENABLED=false
204+
```
205+
206+
Available environment variables:
207+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_HTML_ENABLED` (default: true)
208+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TEXT_ENABLED` (default: true)
209+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_QUOTE_ENABLED` (default: true)
210+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_IMAGE_ENABLED` (default: true)
211+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_VIDEO_ENABLED` (default: true)
212+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_BUTTON_ENABLED` (default: true)
213+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TITLE_ENABLED` (default: true)
214+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H1_ENABLED` (default: false)
215+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H2_ENABLED` (default: false)
216+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H3_ENABLED` (default: false)
217+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_SEPARATOR_ENABLED` (default: true)
218+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_ANCHOR_ENABLED` (default: true)
219+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_YOUTUBE_ENABLED` (default: true)
220+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_IMAGE_COLLECTION_ENABLED` (default: true)
221+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TWO_COLUMNS_ENABLED` (default: true)
222+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_COLUMN_ENABLED` (default: true)
223+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_ROW_ENABLED` (default: true)
224+
- `MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_MARKDOWN_ENABLED` (default: true)
225+
197226
## Available elements
198227

199228
- Two columns element (Layout)

src/Resources/config/config.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,24 @@ parameters:
1919
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_IMAGE_UPLOAD_DIR): /media/image
2020
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_ENABLED_HIGHLIGHT_JS_SHOP): 'false'
2121
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_ENABLED_HIGHLIGHT_JS_THEME): 'default'
22+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_HTML_ENABLED): 'true'
23+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TEXT_ENABLED): 'true'
24+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_QUOTE_ENABLED): 'true'
25+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_IMAGE_ENABLED): 'true'
26+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_VIDEO_ENABLED): 'true'
27+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_BUTTON_ENABLED): 'true'
28+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TITLE_ENABLED): 'true'
29+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H1_ENABLED): 'false'
30+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H2_ENABLED): 'false'
31+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H3_ENABLED): 'false'
32+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_SEPARATOR_ENABLED): 'true'
33+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_ANCHOR_ENABLED): 'true'
34+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_YOUTUBE_ENABLED): 'true'
35+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_IMAGE_COLLECTION_ENABLED): 'true'
36+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TWO_COLUMNS_ENABLED): 'true'
37+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_COLUMN_ENABLED): 'true'
38+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_ROW_ENABLED): 'true'
39+
env(MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_MARKDOWN_ENABLED): 'true'
2240

2341
twig:
2442
globals:

src/Resources/config/richeditor.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ monsieurbiz_sylius_richeditor:
1414
templates:
1515
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/html.html.twig'
1616
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/html.html.twig'
17+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_HTML_ENABLED)%'
1718
monsieurbiz.text:
1819
alias: text
1920
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.text.title'
@@ -26,6 +27,7 @@ monsieurbiz_sylius_richeditor:
2627
templates:
2728
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/text.html.twig'
2829
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/text.html.twig'
30+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TEXT_ENABLED)%'
2931
monsieurbiz.quote:
3032
alias: quote
3133
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.quote.title'
@@ -38,6 +40,7 @@ monsieurbiz_sylius_richeditor:
3840
templates:
3941
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/quote.html.twig'
4042
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/quote.html.twig'
43+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_QUOTE_ENABLED)%'
4144
monsieurbiz.image:
4245
alias: image
4346
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.image.title'
@@ -50,6 +53,7 @@ monsieurbiz_sylius_richeditor:
5053
templates:
5154
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/image.html.twig'
5255
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/image.html.twig'
56+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_IMAGE_ENABLED)%'
5357
monsieurbiz.video:
5458
alias: video
5559
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.video.title'
@@ -62,6 +66,7 @@ monsieurbiz_sylius_richeditor:
6266
templates:
6367
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/video.html.twig'
6468
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/video.html.twig'
69+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_VIDEO_ENABLED)%'
6570
monsieurbiz.button:
6671
alias: button
6772
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.button.title'
@@ -74,6 +79,7 @@ monsieurbiz_sylius_richeditor:
7479
templates:
7580
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/button.html.twig'
7681
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/button.html.twig'
82+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_BUTTON_ENABLED)%'
7783
monsieurbiz.title:
7884
alias: title
7985
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.title.title'
@@ -86,6 +92,7 @@ monsieurbiz_sylius_richeditor:
8692
templates:
8793
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/title.html.twig'
8894
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/title.html.twig'
95+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TITLE_ENABLED)%'
8996
monsieurbiz.h1:
9097
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.h1.title'
9198
description: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.h1.description'
@@ -97,7 +104,7 @@ monsieurbiz_sylius_richeditor:
97104
templates:
98105
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/h1.html.twig'
99106
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/h1.html.twig'
100-
enabled: false
107+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H1_ENABLED)%'
101108
monsieurbiz.h2:
102109
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.h2.title'
103110
description: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.h2.description'
@@ -109,7 +116,7 @@ monsieurbiz_sylius_richeditor:
109116
templates:
110117
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/h2.html.twig'
111118
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/h2.html.twig'
112-
enabled: false
119+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H2_ENABLED)%'
113120
monsieurbiz.h3:
114121
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.h3.title'
115122
description: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.h3.description'
@@ -121,7 +128,7 @@ monsieurbiz_sylius_richeditor:
121128
templates:
122129
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/h3.html.twig'
123130
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/h3.html.twig'
124-
enabled: false
131+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_H3_ENABLED)%'
125132
monsieurbiz.separator:
126133
alias: separator
127134
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.separator.title'
@@ -134,6 +141,7 @@ monsieurbiz_sylius_richeditor:
134141
templates:
135142
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/separator.html.twig'
136143
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/separator.html.twig'
144+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_SEPARATOR_ENABLED)%'
137145
monsieurbiz.anchor:
138146
alias: anchor
139147
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.anchor.title'
@@ -146,6 +154,7 @@ monsieurbiz_sylius_richeditor:
146154
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/anchor.html.twig'
147155
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/anchor.html.twig'
148156
tags: [default, anchor]
157+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_ANCHOR_ENABLED)%'
149158
monsieurbiz.youtube:
150159
alias: youtube
151160
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.youtube.title'
@@ -158,6 +167,7 @@ monsieurbiz_sylius_richeditor:
158167
templates:
159168
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/youtube.html.twig'
160169
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/youtube.html.twig'
170+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_YOUTUBE_ENABLED)%'
161171
monsieurbiz.image_collection:
162172
alias: image_collection
163173
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.image_collection.title'
@@ -170,6 +180,7 @@ monsieurbiz_sylius_richeditor:
170180
templates:
171181
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/image_collection.html.twig'
172182
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/image_collection.html.twig'
183+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_IMAGE_COLLECTION_ENABLED)%'
173184
monsieurbiz.two_columns:
174185
alias: two_columns
175186
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.two_columns.title'
@@ -182,6 +193,7 @@ monsieurbiz_sylius_richeditor:
182193
templates:
183194
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/two_columns.html.twig'
184195
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/two_columns.html.twig'
196+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_TWO_COLUMNS_ENABLED)%'
185197
monsieurbiz.column:
186198
alias: column
187199
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.column.title'
@@ -194,6 +206,7 @@ monsieurbiz_sylius_richeditor:
194206
templates:
195207
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/column.html.twig'
196208
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/column.html.twig'
209+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_COLUMN_ENABLED)%'
197210
monsieurbiz.row:
198211
alias: row
199212
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.row.title'
@@ -206,6 +219,7 @@ monsieurbiz_sylius_richeditor:
206219
templates:
207220
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/row.html.twig'
208221
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/row.html.twig'
222+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_ROW_ENABLED)%'
209223
monsieurbiz.markdown:
210224
alias: markdown
211225
title: 'monsieurbiz_richeditor_plugin.ui_element.monsieurbiz.markdown.title'
@@ -218,3 +232,4 @@ monsieurbiz_sylius_richeditor:
218232
templates:
219233
admin_render: '@MonsieurBizSyliusRichEditorPlugin/admin/ui_element/markdown.html.twig'
220234
front_render: '@MonsieurBizSyliusRichEditorPlugin/shop/ui_element/markdown.html.twig'
235+
enabled: '%env(bool:MONSIEURBIZ_SYLIUS_RICH_EDITOR_UI_ELEMENT_MARKDOWN_ENABLED)%'

0 commit comments

Comments
 (0)