Мне удалось использовать решение Griiettner для Joomla 3. Я хотел, чтобы пользователи не могли редактировать свой адрес электронной почты на экране редактирования профиля в веб-интерфейсе.Я только слегка его изменил, скопируйте этот файл:
components/com_users/models/forms/profile.xml
в:
/templates/YOUR_TEMPLATE/html/com_users/profile/forms/profile.xml
Также скопируйте этот файл:
components/com_users/views/profile/tmpl/edit.php
до:
/templates/YOUR_TEMPLATE/html/com_users/profile/edit.php
И поместите этот код вверху файла edit.php сразу после:
defined('_JEXEC') or die;
Я пропустил $this->form->reset( true ); // to reset the form xml loaded by the view
и использовал только это:
// JOOMLA 3
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
$this->form->loadFile( dirname(__FILE__) . DS . "forms" . DS . "profile.xml");
Это позволило мне сохранить информацию о профиле пользователя, заполненную вредактировать форму.Затем я отредактировал файл profile.xml и добавил:
readonly="true"
в поля email1 и email2.Это мешает пользователю редактировать.