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 @@
-
+