Skip to content

Commit 7ba727c

Browse files
committed
feat : form improvements - custom fields mapping and manual override fields
1 parent ce47b06 commit 7ba727c

File tree

2 files changed

+91
-55
lines changed

2 files changed

+91
-55
lines changed

plugins/system/opengraph/language/en-GB/plg_system_opengraph.ini

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ PLG_SYSTEM_OPENGRAPH_FIELDSET_ARTICLE_DESC="Configure OpenGraph metadata for soc
4141

4242

4343
; Common Field Labels
44+
PLG_SYSTEM_OPENGRAPH_SHOW_MANUAL_OVERRIDE_LABEL="Show Manual Override Settings"
45+
PLG_SYSTEM_OPENGRAPH_SHOW_MANUAL_OVERRIDE_DESC="Enable this to manually set OG tags like title, description, and image."
46+
4447
PLG_SYSTEM_OPENGRAPH_OG_TITLE_LABEL="OpenGraph Title"
4548
PLG_SYSTEM_OPENGRAPH_OG_TITLE_DESC="Custom title for social media sharing. Recommended length: 40-60 characters."
4649
PLG_SYSTEM_OPENGRAPH_OG_TITLE_HINT="Enter a compelling title for social sharing"
@@ -79,6 +82,8 @@ PLG_SYSTEM_OPENGRAPH_TYPE_PRODUCT="Product"
7982
PLG_SYSTEM_OPENGRAPH_TYPE_EVENT="Event"
8083

8184
;advanced settings
85+
PLG_SYSTEM_OPENGRAPH_ADVANCED_SECTION ="Advanced Settings"
86+
8287
PLG_SYSTEM_OPENGRAPH_SHOW_ADVANCED_LABEL="Show Advanced Settings"
8388
PLG_SYSTEM_OPENGRAPH_SHOW_ADVANCED_DESC="Show advanced settings for OpenGraph metadata."
8489

@@ -100,3 +105,21 @@ PLG_SYSTEM_OPENGRAPH_FB_APP_ID_LABEL="Facebook App ID"
100105
PLG_SYSTEM_OPENGRAPH_FB_APP_ID_DESC="Enter your Facebook App ID to enable Facebook Open Graph debugging."
101106
PLG_SYSTEM_OPENGRAPH_FB_APP_ID_HINT="Enter your Facebook App ID to enable Facebook Open Graph debugging."
102107

108+
109+
; Field Selection (New Section)
110+
PLG_SYSTEM_OPENGRAPH_FIELD_MAPPING_SECTION="Custom Field Mapping"
111+
PLG_SYSTEM_OPENGRAPH_MANUAL_OVERRIDE_SECTION="Manual Override Values"
112+
113+
PLG_SYSTEM_OPENGRAPH_TITLE_FIELD_LABEL="Title Custom Field"
114+
PLG_SYSTEM_OPENGRAPH_TITLE_FIELD_DESC="Select a custom field to use as the OpenGraph title source."
115+
116+
PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_LABEL="Description Custom Field"
117+
PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_DESC="Select a custom field to use as the OpenGraph description source."
118+
119+
PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_LABEL="Image Custom Field"
120+
PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_DESC="Select a custom field to use as the OpenGraph image source."
121+
122+
PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_LABEL="Type Custom Field"
123+
PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_DESC="Select a custom field to use as the OpenGraph type source."
124+
125+
PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED="No custom field selected"
Lines changed: 68 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,82 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<form>
3-
<fields name="attribs">
4-
<fieldset name="ogsettings"
5-
label="PLG_SYSTEM_OPENGRAPH_FIELDSET_ARTICLE"
6-
description="PLG_SYSTEM_OPENGRAPH_FIELDSET_ARTICLE_DESC">
7-
8-
9-
<field name="og_override"
3+
<fieldset name="opengraph"
4+
label="PLG_SYSTEM_OPENGRAPH_FIELDSET_ARTICLE">
5+
<fieldset name="opengraph_field_mapping"
6+
label="PLG_SYSTEM_OPENGRAPH_FIELD_MAPPING_SECTION">
7+
<field name="og_title_field"
8+
type="list"
9+
label="PLG_SYSTEM_OPENGRAPH_TITLE_FIELD_LABEL"
10+
description="PLG_SYSTEM_OPENGRAPH_TITLE_FIELD_DESC"
11+
class="form-select">
12+
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
13+
</field>
14+
<field name="og_description_field"
15+
type="list"
16+
label="PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_LABEL"
17+
description="PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_DESC"
18+
class="form-select">
19+
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
20+
</field>
21+
<field name="og_image_field"
22+
type="list"
23+
label="PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_LABEL"
24+
description="PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_DESC"
25+
class="form-select">
26+
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
27+
</field>
28+
<field name="og_type_field"
29+
type="list"
30+
label="PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_LABEL"
31+
description="PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_DESC"
32+
class="form-select">
33+
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
34+
</field>
35+
</fieldset>
36+
<fieldset name="opengraph_manual_override"
37+
label="PLG_SYSTEM_OPENGRAPH_MANUAL_OVERRIDE_SECTION">
38+
<field name="show_manual_override"
1039
type="radio"
11-
label="Override Title and Description?"
12-
description="Enable this to use custom OG title and description instead of the article's default title and meta description."
40+
label="PLG_SYSTEM_OPENGRAPH_SHOW_MANUAL_OVERRIDE_LABEL"
41+
description="PLG_SYSTEM_OPENGRAPH_SHOW_MANUAL_OVERRIDE_DESC"
1342
class="btn-group btn-group-yesno"
1443
default="0">
1544
<option value="1">JYES</option>
1645
<option value="0">JNO</option>
1746
</field>
18-
1947
<field name="og_title"
2048
type="text"
2149
label="PLG_SYSTEM_OPENGRAPH_OG_TITLE_LABEL"
2250
description="PLG_SYSTEM_OPENGRAPH_OG_TITLE_DESC"
2351
hint="PLG_SYSTEM_OPENGRAPH_OG_TITLE_HINT"
24-
class="form-control"
25-
showon="og_override:1" />
26-
52+
size="50"
53+
showon="show_manual_override:1" />
2754
<field name="og_description"
2855
type="textarea"
2956
label="PLG_SYSTEM_OPENGRAPH_OG_DESCRIPTION_LABEL"
3057
description="PLG_SYSTEM_OPENGRAPH_OG_DESCRIPTION_DESC"
3158
hint="PLG_SYSTEM_OPENGRAPH_OG_DESCRIPTION_HINT"
32-
class="form-control"
33-
showon="og_override:1" />
34-
35-
59+
rows="3"
60+
cols="50"
61+
showon="show_manual_override:1" />
3662
<field name="og_image"
3763
type="media"
3864
label="PLG_SYSTEM_OPENGRAPH_OG_IMAGE_LABEL"
3965
description="PLG_SYSTEM_OPENGRAPH_OG_IMAGE_DESC"
40-
directory="images"
41-
class="form-control og-image-field" />
42-
66+
showon="show_manual_override:1" />
4367
<field name="og_image_alt"
4468
type="text"
4569
label="PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_LABEL"
4670
description="PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_DESC"
47-
hint="PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_HINT"
48-
class="form-control" />
49-
50-
71+
hint="PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_HINT"
72+
showon="show_manual_override:1" />
5173
<field name="og_type"
5274
type="list"
5375
label="PLG_SYSTEM_OPENGRAPH_OG_TYPE_LABEL"
5476
description="PLG_SYSTEM_OPENGRAPH_OG_TYPE_DESC"
5577
default=""
56-
class="form-select">
78+
class="form-select"
79+
showon="show_manual_override:1">
5780
<option value="">PLG_SYSTEM_OPENGRAPH_USE_DEFAULT</option>
5881
<option value="article">PLG_SYSTEM_OPENGRAPH_TYPE_ARTICLE</option>
5982
<option value="website">PLG_SYSTEM_OPENGRAPH_TYPE_WEBSITE</option>
@@ -65,71 +88,61 @@
6588
<option value="product">PLG_SYSTEM_OPENGRAPH_TYPE_PRODUCT</option>
6689
<option value="event">PLG_SYSTEM_OPENGRAPH_TYPE_EVENT</option>
6790
</field>
68-
6991
<field name="og_url"
7092
type="url"
7193
label="PLG_SYSTEM_OPENGRAPH_OG_URL_LABEL"
7294
description="PLG_SYSTEM_OPENGRAPH_OG_URL_DESC"
7395
hint="PLG_SYSTEM_OPENGRAPH_OG_URL_HINT"
74-
class="form-control" />
75-
76-
77-
<field name="og_enabled"
96+
showon="show_manual_override:1" />
97+
<field name="enable_opengraph"
7898
type="radio"
7999
label="PLG_SYSTEM_OPENGRAPH_ENABLE_LABEL"
80100
description="PLG_SYSTEM_OPENGRAPH_ENABLE_DESC"
81-
class="btn-group btn-group-yesno"
82-
default="">
83-
<option value="">PLG_SYSTEM_OPENGRAPH_USE_DEFAULT</option>
84-
<option value="1">JYES</option>
101+
default="1"
102+
layout="joomla.form.field.radio.switcher"
103+
showon="show_manual_override:1">
85104
<option value="0">JNO</option>
105+
<option value="1">JYES</option>
86106
</field>
87-
88-
89107
<field name="show_advanced"
90108
type="radio"
91109
label="PLG_SYSTEM_OPENGRAPH_SHOW_ADVANCED_LABEL"
92110
description="PLG_SYSTEM_OPENGRAPH_SHOW_ADVANCED_DESC"
93111
class="btn-group btn-group-yesno"
94-
default="0">
112+
default="0"
113+
showon="show_manual_override:1">
95114
<option value="1">JYES</option>
96115
<option value="0">JNO</option>
97116
</field>
98-
99-
117+
<field name="adv_spacer"
118+
type="spacer"
119+
label="PLG_SYSTEM_OPENGRAPH_ADVANCED_SECTION"
120+
showon="show_manual_override:1[AND]show_advanced:1" />
100121
<field name="twitter_card"
101122
type="list"
102123
label="PLG_SYSTEM_OPENGRAPH_TWITTER_CARD_LABEL"
103-
showon="show_advanced:1">
124+
showon="show_manual_override:1[AND]show_advanced:1">
104125
<option value="summary">Summary</option>
105126
<option value="summary_large_image">Large Image</option>
106127
</field>
107-
108128
<field name="twitter_title"
109129
type="text"
110130
label="PLG_SYSTEM_OPENGRAPH_TWITTER_TITLE_LABEL"
111-
hint="PLG_SYSTEM_OPENGRAPH_TWITTER_TITLE_HINT"
112-
showon="show_advanced:1" />
113-
131+
hint="PLG_SYSTEM_OPENGRAPH_TWITTER_TITLE_HINT"
132+
showon="show_manual_override:1[AND]show_advanced:1" />
114133
<field name="twitter_description"
115134
type="textarea"
116135
label="PLG_SYSTEM_OPENGRAPH_TWITTER_DESC_LABEL"
117136
hint="PLG_SYSTEM_OPENGRAPH_TWITTER_DESC_HINT"
118-
showon="show_advanced:1" />
119-
137+
showon="show_manual_override:1[AND]show_advanced:1" />
120138
<field name="twitter_image"
121139
type="media"
122140
label="PLG_SYSTEM_OPENGRAPH_TWITTER_IMAGE_LABEL"
123-
showon="show_advanced:1" />
124-
141+
showon="show_manual_override:1[AND]show_advanced:1" />
125142
<field name="fb_app_id"
126143
type="text"
127144
label="PLG_SYSTEM_OPENGRAPH_FB_APP_ID_LABEL"
128-
showon="show_advanced:1" />
129-
130-
131-
132-
145+
showon="show_manual_override:1[AND]show_advanced:1" />
133146
</fieldset>
134-
</fields>
135-
</form>
147+
</fieldset>
148+
</form>

0 commit comments

Comments
 (0)