Форум русской поддержки Joomla!® CMS
22.07.2017, 14:58:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Изменение профиля пользователя - запретить поля для редактирования

 (Прочитано 6122 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« : 09.04.2014, 05:28:06 »

Подскажите пожалуйста, что и где нужно заремить, чтобы при попытке пользователя изменить свой профиль не отображались вот эти поля:
http://prntscr.com/38apt8
« Последнее редактирование: 10.04.2014, 10:18:04 от b2z » Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #1 : 09.04.2014, 05:54:51 »

3 поля: Редактор, Часовой пояс и Язык убрал из админки
С остальными пока проблема, не могу убрать
Записан
Grigory S.
Завсегдатай
*****

Репутация: +69/-0
Offline Offline

Пол: Мужской
Сообщений: 687


(с)


« Ответ #2 : 09.04.2014, 07:12:57 »

Можно просто убрать кнопку "редактировать" из профиля... Переопределите файл components/com_users/views/profile/tmpl/default.php у себя в шаблоне и удалите из него:
Код
<?php if (JFactory::getUser()->id == $this->data->id) : ?>
<ul class="btn-toolbar pull-right">
<li class="btn-group">
<a class="btn" href="<?php echo JRoute::_('index.php?option=com_users&task=profile.edit&user_id='.(int) $this->data->id);?>">
<span class="icon-user"></span> <?php echo JText::_('COM_USERS_EDIT_PROFILE'); ?></a>
</li>
</ul>
<?php endif; ?>
 
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #3 : 09.04.2014, 07:26:20 »

Можно просто убрать кнопку "редактировать" из профиля... Переопределите файл components/com_users/views/profile/tmpl/default.php у себя в шаблоне и удалите из него:
Код
<?php if (JFactory::getUser()->id == $this->data->id) : ?>
<ul class="btn-toolbar pull-right">
<li class="btn-group">
<a class="btn" href="<?php echo JRoute::_('index.php?option=com_users&task=profile.edit&user_id='.(int) $this->data->id);?>">
<span class="icon-user"></span> <?php echo JText::_('COM_USERS_EDIT_PROFILE'); ?></a>
</li>
</ul>
<?php endif; ?>
 

Таким образом пользователь вообще не сможет редактировать профиль? Мне надо чтобы не было только тех полей, что я указал, а все остальные поля: Адрес, телефон и т.п. чтобы пользователь мог редактировать.
Записан
Grigory S.
Завсегдатай
*****

Репутация: +69/-0
Offline Offline

Пол: Мужской
Сообщений: 687


(с)


« Ответ #4 : 09.04.2014, 07:39:26 »

Ну судя по Вашему скрину нужно убрать всё...
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #5 : 09.04.2014, 07:54:39 »

Ну судя по Вашему скрину нужно убрать всё...
Нужно убрать только те поля, которые в скрине.
А вот все остальные, Адрес, город, телефон и т.п. надо оставить, чтобы пользователь мог менять данные все, кроме тех что в скрине
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #6 : 09.04.2014, 09:46:47 »

Решение нашел здесь http://ittricks.ru/posts/105
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #7 : 09.04.2014, 10:00:55 »

Вот еще по той же теме http://ittricks.ru/posts/156
Проверено, работает!
Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #8 : 09.04.2014, 10:02:37 »

Решение нашел здесь http://ittricks.ru/posts/105
Только после каждого обновления нужно следить, чтобы изменения не слетели.
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #9 : 09.04.2014, 10:52:31 »

Только после каждого обновления нужно следить, чтобы изменения не слетели.
Ну это само собой!
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #10 : 09.04.2014, 14:42:11 »

Может кто подскажет, в Joomla 3 в каких файлах что надо поменять/добавить, чтобы было по аналогии как в этом посте http://joomlaforum.ru/index.php/topic,98959.msg1448151.html
Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #11 : 09.04.2014, 15:38:16 »

Там речь вообще о JomSocial.
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #12 : 10.04.2014, 06:47:10 »

Там речь вообще о JomSocial.
А для Joomla 3 не подскажете решения? Нужно, чтобы в профиле пользователя 2 поля были запрещены к редактированию, но выводились. По аналогии с USERNAME, когда пользователь изменяет свой профиль, USERNAME выводится, но его нельзя отредактировать.
Записан
Denis_Sadykov
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #13 : 10.04.2014, 07:06:05 »

А для Joomla 3 не подскажете решения? Нужно, чтобы в профиле пользователя 2 поля были запрещены к редактированию, но выводились. По аналогии с USERNAME, когда пользователь изменяет свой профиль, USERNAME выводится, но его нельзя отредактировать.
Вообщем ковыряния в файлах, а так же метод "научного тыка" дали свои плоды Azn
В файле /components/com_users/models/profile.php
нашел строчку $form->setFieldAttribute('username', 'readonly', 'true');
Т.к. readonly - только для чтения, сразу под этой строко написал нужные мне две:
$form->setFieldAttribute('name', 'readonly', 'true');
$form->setFieldAttribute('email1', 'readonly', 'true');

Теперь все работает как мне надо. Эти поля выводятся при изменении профиля, а отредактировать их нельзя.

Тему можно закрывать.

Спасибо всем!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet