diff --git a/plugins/fields/note/params/note.xml b/plugins/fields/note/params/note.xml index 31832bedfefe4..012257e81da68 100644 --- a/plugins/fields/note/params/note.xml +++ b/plugins/fields/note/params/note.xml @@ -1,96 +1,6 @@
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/plugins/fields/note/src/Extension/Note.php b/plugins/fields/note/src/Extension/Note.php index 3839999c6542e..c4d953d47221b 100644 --- a/plugins/fields/note/src/Extension/Note.php +++ b/plugins/fields/note/src/Extension/Note.php @@ -10,8 +10,10 @@ namespace Joomla\Plugin\Fields\Note\Extension; +use Joomla\CMS\Event\Model\PrepareFormEvent; use Joomla\Component\Fields\Administrator\Plugin\FieldsPlugin; use Joomla\Event\SubscriberInterface; +use Joomla\Utilities\ArrayHelper; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; @@ -24,4 +26,46 @@ */ final class Note extends FieldsPlugin implements SubscriberInterface { + /** + * The form event. Load additional parameters when available into the field form. + * Only when the type of the form is of interest. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function prepareForm(PrepareFormEvent $event) + { + parent::prepareForm($event); + + $form = $event->getForm(); + $data = $event->getData(); + + $type = ArrayHelper::getValue((array) $data, 'type'); + + if (!$this->getApplication()->isClient('administrator') || $form->getName() !== 'com_fields.field.com_content.article' || $type !== 'note') { + return; + } + + $form->removeField('default_value'); + $form->removeField('required'); + $form->removeField('hint', 'params'); + $form->removeField('class', 'params'); + $form->removeField('label_class', 'params'); + $form->removeField('showlabel', 'params'); + $form->removeField('label_render_class', 'params'); + $form->removeField('render_class', 'params'); + $form->removeField('value_render_class', 'params'); + $form->removeField('show_on', 'params'); + $form->removeField('prefix', 'params'); + $form->removeField('suffix', 'params'); + $form->removeField('display_readonly', 'params'); + + $xml = $form->getXml(); + + foreach ($xml->xpath('//fieldset[@name="smartsearchoptions"]') as $fieldset) { + $dom = dom_import_simplexml($fieldset); + $dom->parentNode->removeChild($dom); + } + } }