Skip to content

Commit 6b71fbf

Browse files
committed
feat: add opengraph field mapping and form changes
1 parent 768a2bf commit 6b71fbf

File tree

3 files changed

+43
-12
lines changed

3 files changed

+43
-12
lines changed

administrator/components/com_content/src/Extension/ContentComponent.php

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,11 +219,40 @@ public function getOpengraphFields(): array
219219
Factory::getLanguage()->load('com_content', JPATH_ADMINISTRATOR);
220220

221221
$fields = [
222+
// Core Content Fields
222223
'title' => Text::_('JGLOBAL_TITLE'),
223224
'articletext' => Text::_('COM_CONTENT_FIELD_ARTICLETEXT_LABEL'),
225+
'alias' => Text::_('JFIELD_ALIAS_LABEL'),
224226

225-
// 'image_intro' => Text::_('COM_CONTENT_FIELD_INTRO_LABEL'),
226-
// 'image_intro_alt' => Text::_('COM_CONTENT_FIELD_ARTICLETEXT_LABEL'),
227+
// Image Fields
228+
'image_intro' => Text::_('COM_CONTENT_FIELD_INTRO_LABEL'),
229+
'image_intro_alt' => Text::_('COM_CONTENT_FIELD_IMAGE_ALT_LABEL'),
230+
'image_fulltext' => Text::_('COM_CONTENT_FIELD_FULL_LABEL'),
231+
'image_fulltext_alt' => Text::_('COM_CONTENT_FIELD_IMAGE_ALT_LABEL'),
232+
233+
// Meta Fields for OpenGraph
234+
'metadesc' => Text::_('JFIELD_META_DESCRIPTION_LABEL'),
235+
'metakey' => Text::_('JFIELD_META_KEYWORDS_LABEL'),
236+
237+
238+
// Date/Time Fields
239+
'created' => Text::_('COM_CONTENT_FIELD_CREATED_LABEL'),
240+
'modified' => Text::_('JGLOBAL_FIELD_MODIFIED_LABEL'),
241+
242+
// Author Fields
243+
'created_by' => Text::_('COM_CONTENT_FIELD_CREATED_BY_LABEL'),
244+
'created_by_alias' => Text::_('COM_CONTENT_FIELD_CREATED_BY_ALIAS_LABEL'),
245+
246+
// Category & Organization
247+
'catid' => Text::_('JCATEGORY'),
248+
'tags' => Text::_('JTAG'),
249+
250+
// Localization
251+
'language' => Text::_('JFIELD_LANGUAGE_LABEL'),
252+
253+
// Publishing Fields
254+
'publish_up' => Text::_('COM_CONTENT_FIELD_PUBLISH_UP_LABEL'),
255+
'publish_down' => Text::_('COM_CONTENT_FIELD_PUBLISH_DOWN_LABEL'),
227256
];
228257

229258
return $fields;

plugins/system/opengraph/src/Field/OpengraphField.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Joomla\CMS\Extension\Component;
1313
use Joomla\CMS\Factory;
1414
use Joomla\CMS\Form\Field\ListField;
15+
use Joomla\CMS\HTML\HTMLHelper;
1516
use Joomla\CMS\Opengraph\OpengraphServiceInterface;
1617

1718
// phpcs:disable PSR1.Files.SideEffects
@@ -56,13 +57,7 @@ protected function getOptions()
5657

5758
$fields = $component->getOpengraphFields();
5859
foreach ($fields as $value => $text) {
59-
$tmp = [
60-
'value' => $value,
61-
'text' => $text
62-
63-
];
64-
//todo : ordering of the fields
65-
array_unshift($options, $tmp);
60+
$options[] = HTMLHelper::_('select.option', $value, $text);
6661
}
6762

6863
return $options;

plugins/system/opengraph/src/forms/opengraph.xml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,28 @@
1313
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
1414
</field>
1515
<field name="og_description_field"
16-
type="list"
16+
type="opengraph"
1717
label="PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_LABEL"
1818
description="PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_DESC"
1919
class="form-select">
2020
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
2121
</field>
2222
<field name="og_image_field"
23-
type="list"
23+
type="opengraph"
2424
label="PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_LABEL"
2525
description="PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_DESC"
2626
class="form-select">
2727
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
2828
</field>
29+
<field name="og_image_alt_field"
30+
type="opengraph"
31+
label="PLG_SYSTEM_OPENGRAPH_IMAGE_ALT_FIELD_LABEL"
32+
description="PLG_SYSTEM_OPENGRAPH_IMAGE_ALT_FIELD_DESC"
33+
class="form-select">
34+
<option value="">PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED</option>
35+
</field>
2936
<field name="og_type_field"
30-
type="list"
37+
type="opengraph"
3138
label="PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_LABEL"
3239
description="PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_DESC"
3340
class="form-select">

0 commit comments

Comments
 (0)