diff --git a/administrator/components/com_config/forms/application.xml b/administrator/components/com_config/forms/application.xml index 0e1f2f654aabd..9d35fb19b05bc 100644 --- a/administrator/components/com_config/forms/application.xml +++ b/administrator/components/com_config/forms/application.xml @@ -219,6 +219,7 @@ label="COM_CONFIG_FIELD_DATABASE_PREFIX_LABEL" default="jos_" filter="string" + dir="ltr" /> isRtl() ? 'dir="ltr"' : '', ]; echo ''; diff --git a/layouts/joomla/form/field/tel.php b/layouts/joomla/form/field/tel.php index dc7f06c0aad84..f16e4aef4f8a0 100644 --- a/layouts/joomla/form/field/tel.php +++ b/layouts/joomla/form/field/tel.php @@ -10,6 +10,8 @@ defined('_JEXEC') or die; +use Joomla\CMS\Factory; + extract($displayData); /** @@ -62,6 +64,8 @@ $required ? 'required' : '', !empty($pattern) ? 'pattern="' . $pattern . '"' : '', $dataAttribute, + // Force LTR input value in RTL + Factory::getLanguage()->isRtl() ? 'dir="ltr"' : '', ]; ?> isRtl() ? 'dir="ltr"' : '', ]; // @deprecated 5.0 The unicode conversion of the URL will be moved to \Joomla\CMS\Form\Field\UrlField::getLayoutData diff --git a/libraries/src/Form/FormField.php b/libraries/src/Form/FormField.php index 5b6c0c84c3965..0f1426b07930d 100644 --- a/libraries/src/Form/FormField.php +++ b/libraries/src/Form/FormField.php @@ -341,6 +341,14 @@ abstract class FormField implements DatabaseAwareInterface */ protected $showon; + /** + * The direction of the field input if different to the document. + * + * @var string + * @since __DEPLOY_VERSION__ + */ + protected $dir; + /** * The parent class of the field * @@ -463,6 +471,7 @@ public function __get($name) case 'validationtext': case 'showon': case 'parentclass': + case 'dir': return $this->$name; case 'input': @@ -526,6 +535,7 @@ public function __set($name, $value) case 'parentclass': case 'default': case 'autocomplete': + case 'dir': $this->$name = (string) $value; break; @@ -644,7 +654,7 @@ public function setup(\SimpleXMLElement $element, $value, $group = null) $attributes = [ 'multiple', 'name', 'id', 'hint', 'class', 'description', 'labelclass', 'onchange', 'onclick', 'validate', 'pattern', 'validationtext', 'default', 'required', 'disabled', 'readonly', 'autofocus', 'hidden', 'autocomplete', 'spellcheck', 'translateHint', 'translateLabel', - 'translate_label', 'translateDescription', 'translate_description', 'size', 'showon', ]; + 'translate_label', 'translateDescription', 'translate_description', 'size', 'showon', 'dir']; $this->default = isset($element['value']) ? (string) $element['value'] : $this->default; @@ -1291,6 +1301,7 @@ protected function getLayoutData() 'dataAttribute' => $this->renderDataAttributes(), 'dataAttributes' => $this->dataAttributes, 'parentclass' => $this->parentclass, + 'dir' => $this->dir, ]; } diff --git a/plugins/installer/urlinstaller/tmpl/default.php b/plugins/installer/urlinstaller/tmpl/default.php index 75d8dead2db25..784f96c77f0e3 100644 --- a/plugins/installer/urlinstaller/tmpl/default.php +++ b/plugins/installer/urlinstaller/tmpl/default.php @@ -25,7 +25,7 @@
- +