Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 4183 Просмотров
*

oazis

  • Захожу иногда
  • 97
  • 2 / 0
Здравствуйте,
подскажите пожалуйста, как в стандартном профиле пользователя Joomla 3.0 сделать недоступное поле для редактирования (по аналогии с полем логин). Чтобы пользователь зайдя в профиль не мог редактировать это поле но видел его визуально? необходимо запретить редактировать поле "имя пользователя".

Благодарю.
*

kreker92

  • Захожу иногда
  • 393
  • 18 / 0
$("input[name='name']").attr('disabled', 'false');
Все вопросы и предложения на почту.
*

kreker92

  • Захожу иногда
  • 393
  • 18 / 0
Код
$("input[name='name']").attr('disabled', 'false');


Или же найти шаблон и прописать там этот атрибут.
Все вопросы и предложения на почту.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
kreker92 это не решение. Js я смогу легко отключить и отредактировать поле.
Для решения нужно писать плагин группы user в котором нужно обрабатывать два события
onUserBeforeSave возвращать старое имя (для тех кто попытается его изменить) и сделать поле не редактируемым
Код: php-brief
function onContentPrepareForm($form, $data){
    if (!($form instanceof JForm)) {
        $this->_subject->setError('JERROR_NOT_A_FORM');

        return false;
    }
    if ($form->getName() =='com_users.profile')
    {
        $form->setFieldAttribute('name', 'readonly', 'true', null);
    }
}
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
kreker92 это не решение. Js я смогу легко отключить и отредактировать поле.
Для решения нужно писать плагин группы user в котором нужно обрабатывать два события
onUserBeforeSave возвращать старое имя (для тех кто попытается его изменить) и сделать поле не редактируемым

Зачем такие сложности? Функцию unset() никто не отменял.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
Функцию unset() никто не отменял
необходимо запретить редактировать поле "имя пользователя".
lcd25 где здесь взаимосвязь? и при чем здесь unset?
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
lcd25 где здесь взаимосвязь? и при чем здесь unset?
Это же элементарно:
if(JRequest::getCmd('view', '')=='profile')unset($_REQUEST['name']);
Можно даже в шаблоне написать сверху, чтобы обновляться. зачем тут плагины плодить?
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
и дальше что, что будет при обновлении записи, что вы запишите пользователю в поле name?
Что будет мешать добавить его обратно туда(к примеру я модулем вывожу форму)?
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Цитировать
и дальше что, что будет при обновлении записи, что вы запишите пользователю в поле name?
Задача в том и заключается, чтобы туда ничего не записалось.

Цитировать
Что будет мешать добавить его обратно туда(к примеру я модулем вывожу форму)?
Почитайте спецификацию функции unset. очень рекомендую вообще читать спецификации.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
Задача в том и заключается, чтобы туда ничего не записалось.
Таким образом вы не сможете изменить профиль пользователя. Может тогда вообще не выводить форму редактирования.
lcd25 не зацикливайтесь на unset //$form->removeField('name');. Это не решение.

Цитата: oazis от 04.10.2013, 23:15:45
необходимо запретить редактировать поле "имя пользователя".
и каким же вы образом запретили.
И иногда стоит признавать ошибки. Ибо все мы ошибаемся. А вот зацикливаться не стоит. Без хаков это только плагин. Запретили редактирование имени и при записи вернули оригинальные.
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Цитировать
Таким образом вы не сможете изменить профиль пользователя. Может тогда вообще не выводить форму редактирования.
lcd25 не зацикливайтесь на unset //$form->removeField('name');. Это не решение.
С чего вы взяли, что не будет меняться профиль пользователя? Не будет меняться только имя пользователя самим пользователем, чего и требовалось добиться.

Цитировать
И иногда стоит признавать ошибки. Ибо все мы ошибаемся. А вот зацикливаться не стоит. Без хаков это только плагин. Запретили редактирование имени и при записи вернули оригинальные.
Без хаков, действительно, понадобится плагин. Увы, это большой недостаток Joomla - в ней теряется гибкость и динамичность PHP. Но если проблема обновлений не стоит, то гораздо проще добавить unset($data['name']); в модель com_users/models/profile.php
« Последнее редактирование: 05.10.2013, 04:50:42 от lcd25 »
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

oazis

  • Захожу иногда
  • 97
  • 2 / 0
Друзья,

приятно видеть, что мой вопрос вызвал бурную дискуссию, но, можете посоветовать решение. А то из прочитанного я так ничего не понял. ^-^ На сайте нет свободной регистрации, все "учетные записи" (акки) создаются вручную администраторами.

Задача: чтобы пользователь не мог изменять в своем профиле поле 'name', по аналогии с полем логин. Плохо, что в Joomla 3.0 не предусмотрено запрещать или разрешать менять это поле.

Буду благодарен за помощь в решении задачи.
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
oazis, думаю, вам стоит воспользоваться советом Fedor Vlasenko и заказать разработку плагина. Но если это ваш сайт, и обновлять его вы не планируете, то можно воспользоваться моим советом - именно, прописать unset($data['name']); в функцию save() в модель com_users/models/profile.php. При этом, чтобы не вводить пользователя в заблуждение, также добавить в шаблон 'disabled', как советовал kreker92 выше.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

oazis

  • Захожу иногда
  • 97
  • 2 / 0
Fedor Vlasenko, вы как разработчик можете подсказать, сколько будет стоить разработка плагина?
*

s0042

  • Новичок
  • 3
  • 0 / 0
Здравствуйте нужен плагин или компонент, который может создавать профиль в профиле пользователя. Другими словами создав свой профиль, пользователь может создать другой профиль, из своего кабинета, о другом пользователе, с указанием области города, ФИО, года рождения, выбор пола и прикрепить фото, с возможностью комментировать этого человека всеми кто его найдет. Сколько будет стоить сие чудо?) и кто сможет взяться за эту работу?
*

kreker92

  • Захожу иногда
  • 393
  • 18 / 0
Создайте отдельную тему в коммерческом разделе.
Все вопросы и предложения на почту.
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Мож кому и пригодится:
readonly="true" в XML файле формы ни кто не отменял, при этом создается и отображается строка, но имеет атрибут "readonly"
Пример:
Код: xml
<field name="name" type="text" description="Название метки" label="Описание" readonly="true" size="30" />
также есть disabled="true" - тоже не дает изменить, но уже и в форму не передает данные...
« Последнее редактирование: 15.05.2014, 02:58:27 от Hishchnik »
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

EndVal

  • Захожу иногда
  • 54
  • 10 / 0
Здравствуйте нужен плагин или компонент, который может создавать профиль в профиле пользователя. Другими словами создав свой профиль, пользователь может создать другой профиль, из своего кабинета, о другом пользователе, с указанием области города, ФИО, года рождения, выбор пола и прикрепить фото, с возможностью комментировать этого человека всеми кто его найдет. Сколько будет стоить сие чудо?) и кто сможет взяться за эту работу?
Посмотри здесь, может подойдет
http://www.adsmirny.ru/kontakty
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Я создал пользователя Author, но он не может зайти в редактирование

Автор Olegus79

Ответов: 7
Просмотров: 481
Последний ответ 19.10.2023, 20:48:52
от Vastriet
Доступ в админку без права редактировать контент

Автор NIKOLY

Ответов: 1
Просмотров: 444
Последний ответ 01.06.2023, 14:12:06
от stepan39
Как редактировать табы?

Автор KyMaHeK

Ответов: 0
Просмотров: 287
Последний ответ 17.02.2023, 17:24:13
от KyMaHeK
Блок особенностей, как добавить в поле с информацией кнопку или ссылку Подробнее

Автор Alex from SPb

Ответов: 5
Просмотров: 325
Последний ответ 28.11.2022, 19:54:42
от marksetter
Сохранение авторизации пользователя при переходе на поддомен

Автор denism300

Ответов: 2
Просмотров: 386
Последний ответ 14.11.2022, 11:35:14
от denism300